Message Queue

The following configurations are available in the main module:
  • Queue-Publisher

  • Queue-Consumer

Queue-Publisher

queue-publisher.xml
<publisher topic="pipeline.step.process">
    <connection
            name="amqp"
            exchange="techdivision-process-pipelines"
            disabled="false"
    />
    <connection
            name="db"
            exchange="techdivision-process-pipelines-db"
            disabled="true"
    />
</publisher>

Queue-Consumer

queue-consumer.xml
<consumer
    name="pipeline.runner.amqp" queue="pipeline_process_steps"
    connection="amqp"
    handler="TechDivision\ProcessPipelines\Model\Runner::process"
/>
<consumer
    name="pipeline.runner.db" queue="pipeline_process_steps"
    connection="db"
    handler="TechDivision\ProcessPipelines\Model\Runner::process"
/>

Depending on the installed message queue, the necessary connections can get set in app/etc/env.php.

Example

Rabbit-MQ is installed and activated as AMQP:
app/etc/env.php
'queue' => [
    'config' => [
        'publishers' => [
            'pipeline.step.process' => [
                'connections' => [
                    'amqp' => [
                        'name' => 'amqp',
                        'disabled' => true
                    ],
                'db' => [
                        'name' => 'db',
                        'disabled' => false
                    ]
                ]
            ]
        ]
    ],
],