У меня есть приложение Symfony 3.Когда вы загружаете один CSV-файл, он отправляет запросы API и готов к новому CSV-файлу для вас.Это полностью завершено.Но этот процесс может занять ~ 1-10 часов.Поэтому, когда кто-то начинает этот процесс, он не может перейти на другие страницы.Например, siteurl.com/process проработал этот процесс после того, как он перешел на эту страницу, он не может перейти на siteurl.com/dashboard.Страница панели инструментов ожидает завершения процесса.
Итак, у меня есть идея, когда кто-то запускает процесс, процесс будет выполняться в фоновом режиме, а когда он закончится, отправьте его по электронной почте, как будто ваш процесс выполнен как перенос.
Я добавил rabbitmq в проект.И кто-то запускает процесс создания новой очереди на rabbitmq с путем к загруженному файлу.Но после этого мне нужно прочитать это и начать процесс.Я создал reader.php для получения сообщения от RabbitMQ и запускаю процесс.Когда я запускаю reader.php в CLI, он работает и не блокируется на других страницах, таких как панель инструментов.Но как запустить reader.php после того, как сообщение пишет rabbitmq.Когда я пытался как shell_exec "php reader.php", он снова блокирует другие страницы.
Как мне это сделать?