diff --git a/gplanchat/durable-bundle/0.1/config/packages/durable.yaml b/gplanchat/durable-bundle/0.1/config/packages/durable.yaml new file mode 100644 index 00000000..a45f630f --- /dev/null +++ b/gplanchat/durable-bundle/0.1/config/packages/durable.yaml @@ -0,0 +1,23 @@ +durable: + # in_memory keeps the journal in the PHP process: right for tests, lost on restart. + # Use dbal to keep it in your database, or set temporal.dsn to reach a Temporal cluster. + event_store: + type: in_memory + workflow_metadata: + type: in_memory + activity_transport: + type: messenger + transport_name: durable_activities + +framework: + messenger: + transports: + durable_workflows: '%env(MESSENGER_DURABLE_WORKFLOW_DSN)%' + durable_activities: '%env(MESSENGER_DURABLE_ACTIVITY_DSN)%' + + routing: + Gplanchat\Durable\Transport\ResumeWorkflowMessage: durable_workflows + Gplanchat\Durable\Transport\ActivityMessage: durable_activities + Gplanchat\Durable\Transport\FireWorkflowTimersMessage: sync + Gplanchat\Durable\Transport\DeliverWorkflowSignalMessage: sync + Gplanchat\Durable\Transport\DeliverWorkflowUpdateMessage: sync diff --git a/gplanchat/durable-bundle/0.1/manifest.json b/gplanchat/durable-bundle/0.1/manifest.json new file mode 100644 index 00000000..19512afc --- /dev/null +++ b/gplanchat/durable-bundle/0.1/manifest.json @@ -0,0 +1,27 @@ +{ + "bundles": { + "Gplanchat\\Durable\\Bundle\\DurableBundle": ["all"] + }, + "copy-from-recipe": { + "config/": "%CONFIG_DIR%/" + }, + "env": { + "#1": "Where workflow resumes and activity runs are queued.", + "#2": "sync:// handles them in the same process, which matches the in_memory", + "#3": "backend the config starts from. Point them at a real transport", + "#4": "(doctrine://, amqp://, redis://) when you move the journal off memory.", + "MESSENGER_DURABLE_WORKFLOW_DSN": "sync://", + "MESSENGER_DURABLE_ACTIVITY_DSN": "sync://" + }, + "post-install-output": [ + " * Durable starts on the in_memory backend: workflows run, and are lost with the process.", + " Set event_store.type and workflow_metadata.type to dbal in", + " config/packages/durable.yaml to keep the journal in your database, and point the two", + " MESSENGER_DURABLE_*_DSN variables at a real transport.", + "", + " * Then run the workers:", + " php bin/console messenger:consume durable_workflows durable_activities", + "", + " * Documentation: https://durable.rocks/docs/getting-started/" + ] +}