From 735054447c4acdeb6c5356309864200682e8fcec Mon Sep 17 00:00:00 2001 From: "github-action[bot]" <> Date: Mon, 31 Aug 2026 16:55:20 +0000 Subject: [PATCH] Create Flex endpoint --- gplanchat.durable-bundle.0.1.json | 67 +++++++++++++++++++++++++++++++ index.json | 20 +++++++++ 2 files changed, 87 insertions(+) create mode 100644 gplanchat.durable-bundle.0.1.json create mode 100644 index.json diff --git a/gplanchat.durable-bundle.0.1.json b/gplanchat.durable-bundle.0.1.json new file mode 100644 index 00000000..073d92e0 --- /dev/null +++ b/gplanchat.durable-bundle.0.1.json @@ -0,0 +1,67 @@ +{ + "manifests": { + "gplanchat/durable-bundle": { + "manifest": { + "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/" + ] + }, + "files": { + "config/packages/durable.yaml": { + "contents": [ + "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", + "" + ], + "executable": false + } + }, + "ref": "e438ab8d3b5aa6199ad13f3598acead044a4374b" + } + } +} diff --git a/index.json b/index.json new file mode 100644 index 00000000..d49fec5d --- /dev/null +++ b/index.json @@ -0,0 +1,20 @@ +{ + "aliases": [], + "recipes": { + "gplanchat/durable-bundle": [ + "0.1" + ] + }, + "recipe-conflicts": [], + "versions": [], + "branch": "main", + "is_contrib": true, + "_links": { + "repository": "github.com/symfony/recipes-contrib", + "origin_template": "{package}:{version}@github.com/symfony/recipes-contrib:main", + "recipe_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2041/{package_dotted}.{version}.json", + "recipe_template_relative": "{package_dotted}.{version}.json", + "archived_recipes_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2041/archived/{package_dotted}/{ref}.json", + "archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json" + } +}