TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #4136 3.41K
Асинхронный конечный автомат с Symfony Workflows

Статья описывает применение Symfony Workflow компонента для управления сложной бизнес-логикой, используя концепцию конечного автомата (finite-state machine). Рассматривается использование компонента на примере рабочего процесса создания и обработки заказа, который включает этапы создания заказа, отправки его в службу заказов, отправки на электронную почту пользователю и отметки заказа как «отправленного» в базе данных.

Здесь предлагается подход, при котором каждый этап бизнес-процесса разбивается на отдельные транзакции конечного автомата. Эти транзакции выполняются транзакционно, что обеспечивает надежность и целостность данных. Если одна из транзакций завершается неудачно, предусмотрена возможность повторного выполнения позже.

Применение событий и подписчиков позволяет управлять процессом и обрабатывать каждую транзакцию транзакционно, что обеспечивает надежность и отказоустойчивость системы.

Также здесь рассматривается сценарий сбоя в работе, описывая методы обработки ошибок и возможности повторного запуска процесса после временных сбоев.
DEV Community Asynchronous state machine with Symfony Workflows A finite-state machine is an abstract machine that can be in exactly one of states. The Symfony...
  • ❤ 10
  • 🔥 3
  • 🤔 2
More from @phpproglib
  1. Oct 2, 2026🎹 Что делать после ChatGPT? Следующий шаг — AI-агенты. Они не просто отвечают на запросы,…
  2. Sep 30, 2026🔥 Последний день для разработчиков AI уже пишет код. Теперь важнее научиться встраивать е…
  3. Sep 30, 2026🐸 Библиотека пхпшника
  4. Sep 29, 2026💡 Laravel-фича, которая спасает тесты от случайных запросов Http::preventStrayRequests()…
  5. Sep 28, 2026🔐 ramsey/uuid — UUID без самописного кода Библиотека помогает генерировать, парсить и вал…
  6. Sep 28, 2026🤔 Что выведет код? ❤️ — 1 🔥 — 2 👍 — 12 👾 — Fatal error 👇 Правильный ответ (нажми, что…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →