Имеется скрипт, который принимает POST-запрос, что-то быстро делает,
выдаёт 302-й редирект, после чего вызывает fastcgi_finish_request() и
делает что-то ещё (относительно долго).

Так вот, наблюдается следующая картина. Браузер, как полагается,
быстро получает редирект, пытается перейти и... ждёт, пока не
отработается долгое действие. Только после этого он получает страницу,
на которую должен быть переход. То есть, ощущение такое, что некая
"сессия" (keep-alive соединение?) жёстко привязана к одному процессу
PHP-FPM, и пока одна задача не отработает, вторая не запускается.
Несмотря на fastcgi_finish_request.

Скажите, в чём тут может быть дело и как с этим бороться, потому что
хочется всё-таки, чтобы долгие задачи после fastcgi_finish_request не
блокировали работу юзера.

Да, всё это происходит за nginx-ом, версия php -- 5.3.3.
Ответ найден, спасибо лжеюзеру vladsm. Оказывается, процесс блокирует
незакрытая сессия. Если перед долгой операцией вызвать
session_write_close(), то всё работает нормально.

On 12 авг, 02:18, david <david.mzareul...@gmail.com> wrote:
> Имеется скрипт, который принимает POST-запрос, что-то быстро делает,
> выдаёт 302-й редирект, после чего вызывает fastcgi_finish_request() и
> делает что-то ещё (относительно долго).
>
> Так вот, наблюдается следующая картина. Браузер, как полагается,
> быстро получает редирект, пытается перейти и... ждёт, пока не
> отработается долгое действие. Только после этого он получает страницу,
> на которую должен быть переход. То есть, ощущение такое, что некая
> "сессия" (keep-alive соединение?) жёстко привязана к одному процессу
> PHP-FPM, и пока одна задача не отработает, вторая не запускается.
> Несмотря на fastcgi_finish_request.
>
> Скажите, в чём тут может быть дело и как с этим бороться, потому что
> хочется всё-таки, чтобы долгие задачи после fastcgi_finish_request не
> блокировали работу юзера.
>
> Да, всё это происходит за nginx-ом, версия php -- 5.3.3.
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 120
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready