Post messages directly to Conductor

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:

  1. test_workflow_for_eventHandler begins
    1. test_start_workflow_event runs and emits event
    2. test_task_tobe_completed_by_eventHandler runs and waits
  2. conductor:test_workflow_for_eventHandler:start_workflow_with_event is received and starts test_workflow_startedBy_eventHandler
  3. test_workflow_startedBy_eventHandler starts
    1. test_complete_task_event runs and emits event
  4. conductor:test_workflow_startedBy_eventHandler:complete_task_with_event is received and finishes the workflow

What I’d like to achieve is:

  1. test_workflow_for_eventHandler runs
    1. test_task_tobe_completed_by_eventHandler runs and waits
  2. My server takes some action and emits event directly to Conductor ( instead of via RabbitMQ, SQS, etc )
  3. 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.