mistral.services package

Submodules

mistral.services.action_manager module

mistral.services.actions module

mistral.services.event_engine module

class mistral.services.event_engine.EventDefinition(definition_cfg)

Bases: object

convert(event)
match_type(event_type)
class mistral.services.event_engine.EventEngine(engine_client)

Bases: mistral.coordination.Service

Event engine server.

A separate service that is responsible for listening event notification and trigger workflows defined by end user.

create_event_trigger(trigger, events)

An endpoint method for creating event trigger.

When creating an event trigger in API layer, we need to create a new listener or update an existing listener.

Parameters:
  • trigger – a dict containing event trigger information.
  • events – a list of events binding to the (exchange, topic) of the event trigger.
delete_event_trigger(trigger, events)

An endpoint method for deleting event trigger.

If there is no event binding to (exchange, topic) after deletion, we need to delete the related listener. Otherwise, we need to restart that listener.

Parameters:
  • trigger – a dict containing event trigger information.
  • events – a list of events binding to the (exchange, topic) of the event trigger.
process_notification_event(notification)

Callback funtion by event handler.

Just put notification into a queue.

stop_all_listeners()
update_event_trigger(trigger)

An endpoint method for updating event trigger.

Because only workflow related information is allowed to be updated, we only need to update event_triggers_map(in a synchronous way).

Parameters:trigger – a dict containing event trigger information.
class mistral.services.event_engine.NotificationsConverter

Bases: object

convert(event_type, event)
get_event_definition(event_type)

mistral.services.expiration_policy module

class mistral.services.expiration_policy.ExecutionExpirationPolicy(conf)

Bases: oslo_service.periodic_task.PeriodicTasks

Expiration Policy task.

This task will run every ‘evaluation_interval’ and will remove old executions (expired execution). The time interval is configurable In the ‘mistral.cfg’ and also the expiration time (both in minutes). By default the interval set to ‘None’ so this task will be disabled.

mistral.services.periodic module

class mistral.services.periodic.MistralPeriodicTasks(conf)

Bases: oslo_service.periodic_task.PeriodicTasks

process_cron_triggers_v2(ctx)

mistral.services.scheduler module

class mistral.services.scheduler.CallScheduler(conf)

Bases: oslo_service.periodic_task.PeriodicTasks

run_delayed_calls(ctx=None)

mistral.services.security module

mistral.services.triggers module

mistral.services.workbooks module

mistral.services.workflows module

Module contents