heat.engine.worker module

class heat.engine.worker.WorkerService(host, topic, engine_id, thread_group_mgr)[source]

Bases: object

Service that has ‘worker’ actor in convergence.

This service is dedicated to handle internal messages to the ‘worker’ (a.k.a. ‘converger’) actor in convergence. Messages on this bus will use the ‘cast’ rather than ‘call’ method to anycast the message to an engine that will handle it asynchronously. It won’t wait for or expect replies from these messages.

RPC_API_VERSION = '1.4'
cancel_check_resource(cnxt, stack_id)[source]

Cancel check_resource for given stack.

All the workers running for the given stack will be cancelled.

check_resource(cnxt, resource_id, current_traversal, data, is_update, adopt_stack_data, converge=False)[source]

Process a node in the dependency graph.

The node may be associated with either an update or a cleanup of its associated resource.

start()[source]
stop()[source]
stop_all_workers(stack)[source]

Cancel all existing worker threads for the stack.

Threads will stop running at their next yield point, whether or not the resource operations are complete.

stop_traversal(stack)[source]

Update current traversal to stop workers from propagating.

Marks the stack as FAILED due to cancellation, but, allows all in_progress resources to complete normally; no worker is stopped abruptly.

Any in-progress traversals are also stopped on all nested stacks that are descendants of the one passed.

heat.engine.worker.log_exceptions(func)[source]