Как сделать процесс трудоемкой задачей в php? - PullRequest
3 голосов
/ 08 июля 2011

Вот проблемы, у меня есть ссылка, как-то так:

http://mydomain.com/veryLongPrcoess.php,

внутри этого php я сделаю что-то очень трудоемкое. Я называю это с помощью AJAX, но после того, как я назвал его, это, наконец, время ожидания, потому что процесс на сервере все еще выполняется. Для его обработки может потребоваться 10 минут или больше ...

Как я могу уведомить пользователя и сказать ему, что я закончил работу? вместо ожидания этого тайм-аута. Спасибо.

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

Один из способов сделать это - использовать pcntl_fork.Это позволит выполнить длинную задачу в отдельном процессе, и вы можете просто отправить пользователю электронное письмо, когда оно будет выполнено.В качестве альтернативы, вы можете использовать AJAX для опроса сервера, чтобы узнать, завершена ли задача?

1 голос
/ 08 июля 2011

Если запуск вашего скрипта займет много времени, я думаю, что, как и для разветвления процесса с помощью pcntl_fork, вам потребуется set_time_limit (0), что позволит скрипту работать столько, сколько нужно. Если его память изобретательна, вам также может понадобиться перезаписать memory_limit с помощью ini_set.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...