routing_key=action_constants.LIVEACTION_STATUS_RESUMING) # Used by the exporter service EXPORTER_WORK_QUEUE = execution.get_queue('st2.exporter.work', routing_key=publishers.UPDATE_RK) # Used by the notifier service NOTIFIER_ACTIONUPDATE_WORK_QUEUE = execution.get_queue( 'st2.notifiers.execution.work', routing_key=publishers.UPDATE_RK) # Used by the results tracker service RESULTSTRACKER_ACTIONSTATE_WORK_QUEUE = actionexecutionstate.get_queue( 'st2.resultstracker.work', routing_key=publishers.CREATE_RK) # Used by the rules engine service RULESENGINE_WORK_QUEUE = reactor.get_trigger_instances_queue( name='st2.trigger_instances_dispatch.rules_engine', routing_key='#') # Used by the stream service STREAM_ANNOUNCEMENT_WORK_QUEUE = announcement.get_queue( routing_key=publishers.ANY_RK, exclusive=True, auto_delete=True) STREAM_EXECUTION_ALL_WORK_QUEUE = execution.get_queue( routing_key=publishers.ANY_RK, exclusive=True, auto_delete=True) STREAM_EXECUTION_UPDATE_WORK_QUEUE = execution.get_queue( routing_key=publishers.UPDATE_RK, exclusive=True, auto_delete=True) STREAM_LIVEACTION_WORK_QUEUE = Queue(None, liveaction.LIVEACTION_XCHG, routing_key=publishers.ANY_RK, exclusive=True,
import datetime from kombu import Connection from oslo.config import cfg from st2common import log as logging from st2common.transport import consumers, reactor import st2reactor.container.utils as container_utils from st2reactor.rules.engine import RulesEngine LOG = logging.getLogger(__name__) RULESENGINE_WORK_Q = reactor.get_trigger_instances_queue( name='st2.trigger_instances_dispatch.rules_engine', routing_key='#') class TriggerInstanceDispatcher(consumers.MessageHandler): message_type = dict def __init__(self, connection, queues): super(TriggerInstanceDispatcher, self).__init__(connection, queues) self.rules_engine = RulesEngine() def process(self, instance): trigger = instance['trigger'] payload = instance['payload'] try: trigger_instance = container_utils.create_trigger_instance( trigger,