<? phpukraine СТАТТІ
⌕Пошук по платформі

Статті про Symfony українською

Dependency injection, Doctrine, Messenger і межі шарів. Матеріали для тих, хто веде великі Symfony-застосунки.

ФІЛЬТР Messenger
Тег «Messenger» це фільтр, а не сторінка: у пошук він не віддається, canonical лишається /articles/symfony. Найсильніші теги перетворимо на окремі хаби, коли під них набереться контент.
НАЙНОВІША SYMFONY 27 вересня 2026

Symfony Scheduler замість cron: періодичні задачі як повідомлення

Crontab живе поза репозиторієм, не читається в code review і ніяк не тестується. Symfony Scheduler переносить розклад у код: `RecurringMessage`, воркер `messenger:consume scheduler_default`, lock проти дублювання на кількох машинах, stateful-режим для пропущених запусків і звичайні юніт-тести, які перевіряють дати наступних запусків.

РP Редакція phpukraine · 8 хв читання
2 статті
SYMFONY 27 вересня 2026 Symfony Scheduler замість cron: періодичні задачі як повідомлення Crontab живе поза репозиторієм, не читається в code review і ніяк не тестується. Symfony Scheduler переносить розклад у код: `RecurringMessage`, воркер `messenger:consume scheduler_default`, lock проти дублювання на кількох машинах, stateful-режим для пропущених запусків і звичайні юніт-тести, які перевіряють дати наступних запусків. РP Редакція phpukraine · 8 хв ·Scheduler ·Messenger ·Cron SYMFONY 3 вересня 2026 Messenger і outbox: як не втратити подію між транзакцією і брокером Класична дірка: сутність збережена, а повідомлення в брокер не пішло — або пішло, а транзакція відкотилась. Symfony Messenger вміє закривати її без окремої бібліотеки: Doctrine transport пише повідомлення тим самим з'єднанням, що й ваші сутності, тож INSERT потрапляє в ту саму транзакцію. Розбираємо конфіг, ретраї, failed transport, дедуплікацію на боці споживача і випадки, коли весь цей апарат вам не потрібен. РP Редакція phpukraine · 9 хв ·Messenger ·Outbox ·Doctrine