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.
-
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.