2015-09-14 6 views
0

Я использую Zend Framework в своем веб-приложении. У меня есть требование установить cronjob для выполнения php-скрипта для извлечения большого количества данных. Количество записей составляет около 3600, что может постепенно увеличиваться. С этим большим количеством данных я столкнулся с ошибкой тайм-аута выполнения скрипта.Большие данные через Cron с использованием ZendFramework и Mysql

Увеличение времени выполнения сценария не является решением, поскольку его невозможно увеличить тайм-аут каждый раз.

Может ли кто-нибудь помочь мне в правильном осуществлении этого?

+0

3600 звучит как небольшое количество данных в целом. Является ли ваш поиск данных очень сложным? Если обработка данных не зависит от других данных, вы можете ограничить свой cronjob до 1000 строк и начать его чаще (конечно, вам нужен маркер для обработанных строк). Или вы объединяете информацию по этим строкам? Тогда это может ускориться, если вы можете сделать агрегацию в SQL вместо php. – flaschenpost

ответ

0

Попробуйте сделать

set_time_limit(0); 

в вашем PHP коде, это позволит вам выполнять неограниченное время, убедитесь, что у вас есть безопасный режим отключен.

+0

Будет ли это влиять на выполнение скрипта любым другим способом? Как это будет закончено, когда выполнение закончено. Из-за проблем с памятью? – uday8486

+0

Да, это закончится правильно ... теперь проблемы с памятью могут быть возможны, если вы неправильно обрабатываете свои данные. Хорошим примером является то, что при попытке иметь очень большой набор записей в массиве решение состоит в том, чтобы перезаписывать запись по записи и хранить эти данные, а также штырями данных (записей). –

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