Hi all
I’ve been getting familiar with Conductor and have it running locally via docker. I’ve set up an event handler to receive messages from RabbitMQ and start a workflow like this:
{
"name": "Begin test_local_workflow",
"event": "amqp_queue:test-queue",
"condition": "true",
"actions": [
{
"action": "start_workflow",
"start_workflow": {
"name": "test_local_workflow",
"version": 2,
"input": {}
},
"expandInlineJSON": false
}
],
"active": true
}
This obviously requires a dependency on RabbitMQ. Is it possible to post messages directly to the Conductor message broker? I understand that we can send messages via Event Tasks within a workflow, it’d be cool to be able to do this outside of Conductor.
The use case I see here is for pausing/resuming workflows via events without having to run workflows and without relying on external brokers. If we use the workflow described here, test_workflow_for_eventHandler waits when it reaches test_task_tobe_completed_by_eventHandler. The example flow is something like:
test_workflow_for_eventHandlerbeginstest_start_workflow_eventruns and emits eventtest_task_tobe_completed_by_eventHandlerruns and waits
conductor:test_workflow_for_eventHandler:start_workflow_with_eventis received and startstest_workflow_startedBy_eventHandlertest_workflow_startedBy_eventHandlerstartstest_complete_task_eventruns and emits event
conductor:test_workflow_startedBy_eventHandler:complete_task_with_eventis received and finishes the workflow
What I’d like to achieve is:
test_workflow_for_eventHandlerrunstest_task_tobe_completed_by_eventHandlerruns and waits
- My server takes some action and emits event directly to Conductor ( instead of via RabbitMQ, SQS, etc )
- Conductor receives event and continues the flow
I realise this is somewhat treating conductor as a message broker which I realise is not its real purpose, but if it has its own messaging system anyway it’d be nice to be able to access that.