У меня админка на PHP. По кнопке выполняется обработка файлом и вноска в базу данных с кучей сложных проверок, данное действие может отрабатывать даже по 15 минут (в зависимости от кол-ва файлов)
Проблема в том, что когда много файлов в обработке, скрипт соответственно работает дольше обычного.
В ответ я получаю:
504 Gateway Time-out
nginx
Как сделать, чтобы все это дело выполнялось отдельно от браузера. Т.е. я нажимаю кнопку "Обработать" и все. Дальше само все работает, а я занимаюсь другими делами по базе.
fastcgi_finish_request
Либо по крону запускайте выполнение долгих действий (следите чтоб несколько копий одновременно не запустилось)
Либо отдельный демон.
Php и так запускается отдельным процессом. Скорее всего, дело в том, что у вас сессия блокируется и вам нужно перед долгими действиями вызывать session_write_close().