Я бы хотел запустить фоновую задачу в Symfony 4, основываясь на настройке формы.Это позволит избежать того, что пользователь должен оставаться в форме, пока задача не будет завершена.Идея заключается в том, что когда форма проверена, она запускает независимую фоновую задачу.Затем пользователь может продолжить навигацию и вернуться после завершения задачи, чтобы получить результаты.
Мне сказали, что лучшим решением будет использование компонента Symfony Messenger, и поэтому он попытался его настроить,даже несмотря на то, что я совсем не знаком с этими пакетами сообщений:
Я создал Message и MessageHandler для необходимой мне обработки данных и вызвал его с моего контроллера ($ bus-> dispatch (newMyMessage (params)): это, кажется, работает нормально.
Затем я установил маршрутизацию amqp в messenger.yaml, чтобы MessageHandler выполнялся асинхронно из моей формы, и пользователь мог продолжать навигацию во время работы:
транспортов:
amqp: '%env(MESSENGER_TRANSPORT_DSN)%'
routing: '*': amqp
Теперь при проверке формы я получаю следующую ошибку: «Нет активной транзакции».
Любая идея, как я могу решить эту проблему?
Спасибо за помощь,