TGViewer
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter @phpproglib · 10.5K subscribers
Post #3088 2.68K
Как задержать задачи и listener'ы в Laravel в транзакциях базы данных

В Laravel есть механизмы, позволяющие запускать отложенные задачи и слушателей, используя очереди. Однако, если задачи и слушатели запускаются внутри транзакции базы данных, они могут выполниться раньше, чем завершится транзакция, что может привести к непредсказуемым результатам.

Статья предлагает решение этой проблемы, используя отложенный запуск задач и слушателей с помощью Laravel Queues. Для этого автор использует две различные очереди и специальный драйвер базы данных, который позволяет обеспечить атомарность транзакции и выполнение отложенных задач только после ее завершения.

В статье представлен подробный код и инструкции, которые позволяют настроить и использовать этот подход в своих проектах на Laravel.

https://arunas.dev/how-to-delay-laravel-jobs-and-listeners-within-database-transactions/
Arunas codes How to delay Laravel jobs/listeners within DB transactions If you have jobs and listeners being fired within database transactions, it can lead to data inconsistencies if the transaction rolls back. Learn how to properly handle them here.
  • 👍 4
More from @phpproglib
  1. Oct 15, 2026🧑‍💻 Какие навыки помогают вам в разработке в 2026 году? Что вы чаще используете в работе…
  2. Oct 14, 2026Post #6733
  3. Oct 14, 2026Общая папка для работы Claude Code и Codex Луи-Франсуа Бушар собрал заметки, инструкции-ск…
  4. Oct 14, 2026Clockwork: куда ушло время PHP-запроса Страница тормозит, а в логах только общий ответ? Cl…
  5. Oct 12, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  6. Oct 10, 2026Post #6729
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 →