Symfony 4 - Использование мессенджера для запуска фоновой задачи после проверки формы - PullRequest
0 голосов
/ 22 января 2019

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

Мне сказали, что лучшим решением будет использование компонента Symfony Messenger, и поэтому он попытался его настроить,даже несмотря на то, что я совсем не знаком с этими пакетами сообщений:

Я создал Message и MessageHandler для необходимой мне обработки данных и вызвал его с моего контроллера ($ bus-> dispatch (newMyMessage (params)): это, кажется, работает нормально.

Затем я установил маршрутизацию amqp в messenger.yaml, чтобы MessageHandler выполнялся асинхронно из моей формы, и пользователь мог продолжать навигацию во время работы:

транспортов:

 amqp: '%env(MESSENGER_TRANSPORT_DSN)%'

 routing: '*': amqp 

Теперь при проверке формы я получаю следующую ошибку: «Нет активной транзакции».

Любая идея, как я могу решить эту проблему?

Спасибо за помощь,

...