У меня есть скрипт CakePHP, который, я надеюсь, должен быть запущен заданием cron. Он работает нормально из командной строки, но, похоже, не из cron. Линия cron выглядит примерно так:
*/2 * * * * cd /path/to/app;../cake/console/cake do_update
Сам сценарий - и это тот бит, который, я думаю, может быть слишком дурацким, в смысле отбрасывания cron - проходит по подмножеству таблицы Realtors в базе данных, используя системное время, чтобы решить, какие -записать срез базы данных для обновления:
$realtors = $this->Realtor->find('all',array(
'conditions'=>array('Realtor.zone_id'=>1),
'order'=>array('Realtor.num DESC'),
'limit'=>50,
'offset'=>date("i")*25
));
Так что мой вопрос (ы) - есть ли что-то, что я здесь делаю, что, очевидно, бросило бы работу cron за цикл? И, возможно, что еще более важно, является ли мой метод разделения базы данных на управляемые куски в течение часа сумасшедшим? (Я в значительной степени новичок в программировании, поэтому я пробую много вещей, не зная, хорошая ли это практика или нет.) Может кто-нибудь предложить лучший способ циклически просматривать и обновлять большое количество записей в базе данных через cron, что не позволяет отдельным запросам быть слишком большими для обработки системой?
РЕДАКТИРОВАТЬ: он не только всегда работает из командной строки, он также работает при запуске сценария cron на другом сервере. Я полагаю, что на конкретном сервере что-то напутано, поэтому кажется сомнительным, что есть решение, связанное с кодом! Я просто приму ответ из полезной информации о cron'е ниже ...