2014-09-04 3 views
0

Мой веб-сервер разрешает только 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? Спасибо!

+0

Задание задачи как задания cron, а не веб-сервера –

+0

Вы можете использовать PECL lib-pthreads, который позволяет вам многопоточность, поэтому вы можете поместить эти части в другой поток –

+0

, если ваших ограничений на хостинг недостаточно, изменить хостинг? – 2014-09-04 07:22:37

ответ

0

Вы можете попробовать эту функцию, чтобы увеличить время выполнения сервера max_execution_time()

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

Смежные вопросы