Отключить тайм-аут чтения FastCGI в Nginx?

ngrep очень полезен для этого. Что-то столь же простое как

ngrep -W byline port 80

работал бы, но можно отфильтровать на содержании запросов также (следовательно grep часть имени), и это распечатывает полезную нагрузку пакета:

ngrep -W byline some_string port 80
5
задан 5 May 2012 в 23:28
2 ответа

Похоже, ваш единственный вариант - установить fastcgi_read_timeout на действительно большое значение (например, 1h или 1d).

5
ответ дан 3 December 2019 в 01:39

Как я могу решить проблему:

  1. Когда пользователь отправляет запрос на создание отчета, используйте exec ("php report.php") для запуска Скрипт генерации отчета в режиме CLI. Разумеется, используйте некоторую идентифицирующую информацию в качестве лекарств.

  2. Загрузите страницу «Пожалуйста, подождите» для пользователя, используя AJAX, чтобы проверить, создан ли отчет с помощью ps w . Ищите имя сценария и используемые аргументы.

  3. После этого выполните перенаправление на страницу отчета.

Таким образом вы предотвратите использование пользователями затирания обновлений, если ожидание станет слишком долгим (фактически сделав его еще дольше), а также информируете пользователя о том, что процесс все еще продолжается.

0
ответ дан 3 December 2019 в 01:39

Теги

Похожие вопросы