Мой веб-сервер разрешает только 30 секунд для тайм-аута, и у меня есть несколько больших циклов, которые на самом деле занимают минуты.Есть ли способ выполнить функцию без сохранения всего скрипта? (PHP)
Цель сценария - отправлять уведомления в приложение.
$queryGCM = mysql_query("SELECT * FROM toks WHERE pid = '$pid' AND method = 'GOOGLECLOUDMESSAGE' ORDER by ids")or die(mysql_error());
while($notiar = mysql_fetch_array($queryGCM ))
{
sendGCM(*******);
}
$queryAPNS = mysql_query("SELECT * FROM toks WHERE pid = '$pid ' AND method != 'GOOGLECLOUDMESSAGE' ORDER by ids")or die(mysql_error());
while($notiar = mysql_fetch_array($queryAPNS))
{
sendAPNS(******);
}
Это acript занимает намного больше, чем 30 минут, я уверен, что есть способ разделить сценарий таким образом, что это будет на самом деле закончить цикл.
Любое предложениеg? Спасибо!
Задание задачи как задания cron, а не веб-сервера –
Вы можете использовать PECL lib-pthreads, который позволяет вам многопоточность, поэтому вы можете поместить эти части в другой поток –
, если ваших ограничений на хостинг недостаточно, изменить хостинг? – 2014-09-04 07:22:37