У меня есть веб-приложение, которое принимает CSV-файлы (большие файлы> 2000000 строк), выполняет статистический анализ и создает CSV-файл с равным количеством строк в качестве вывода. Весь процесс линий l oop находится внутри работы. Я использую laravel 6,9. Мой драйвер очереди настроен на базу данных. вот что происходит:
Я отправляю свой файл и параметры для анализа через jquery. Сервер выбирает запрос, отправляет задание, используя что-то вроде этого в моем контроллере:
IndexEstimatorJob::dispatch($indexEstimator)->delay(now()->addSeconds(3));
Браузер получает ответ, что означает, что он работает asyn c, и перенаправляет меня на страницу, где я хочу для просмотра рабочих мест, которые выполняются. Дело в том, что пока задание запускается в асинхронном режиме c и меня перенаправляют на другую страницу, когда я пытаюсь зайти на другую страницу, мой браузер ожидает ответа сервера навсегда.
Это ресурсы сервера проблема? Могу ли я как-то установить приоритет задания так, чтобы он работал медленнее, но сервер не отвечал на запросы?
Есть идеи?