Skip to content

feat: dynamic decoration of actuators as actors #185

@michael-johnston

Description

@michael-johnston

Is your feature request related to a problem? Please describe.

Currently if you want to use an Actuator class it is always created as a ray actor - as we require it to be decorated with @ray.remote
This means there is always overhead of starting a ray cluster (which can be 5-10s) to use it, along with the need to use ray.get .remote(), cleanup etc.

In some cases e.g. scripts, run_experiment, it would be easier and quicker to use the Actuator class directly i.e. not as an actor.

Describe the solution you'd like

Instead of requiring Actuator classes are decorated with @ray.actor this is done dynamically when required e.g.

ray.init()

# Dynamically wrap the class with ray.remote

ActorClass = ray.remote(MyService)

Additional context
Add any other context or screenshots about the feature request here.

In orchestrator this only requires a change in modules.operators.setup.setup_actuators as it is the place where the class is assumed to be decorated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions