1
Разработка модулей / Проблема с CRON
« : 21 Сентября 2014, 12:56:16 »
Всем привет!
Дело такое, пишу свой модуль, возникла необходимость периодически проверять все активные страницы модуля на соответствие некому параметру, проще говоря, если истек срок, то просто снимаем активность со страницы. В общем с самим CRON проблем не возникло, заданная функция выполняется каждую минуту, код я стянул из модуля новостей, немного изменил так что бы он снимал с публикации новость, ну и он прекрасно стал работать
после чего я изменил тип данных новостей на свой, код получился следующий
mymodule и mymethod соответствуют типу в настройках шаблонов данных.
И тут самое интересное, код внезапно перестал выполняться, все поля имеются и заполнены корректно, не выполняется код именно когда функция вызывается кроном, при том уведомление на почту уходит, а страницы не снимаются с публикации, а если я вызываю ее напрямую из браузера, то она отрабатывает полностью, в общем судя по всему дело именно в типе данных, может быть нужно какие нибудь права доступа выставлять?
Дело такое, пишу свой модуль, возникла необходимость периодически проверять все активные страницы модуля на соответствие некому параметру, проще говоря, если истек срок, то просто снимаем активность со страницы. В общем с самим CRON проблем не возникло, заданная функция выполняется каждую минуту, код я стянул из модуля новостей, немного изменил так что бы он снимал с публикации новость, ну и он прекрасно стал работать
Код: [Выделить]
$pages = new selector('pages');
$pages->types('hierarchy-type')->name('news', 'item');
$pages->where('is_active')->notequals(false);
$pages->where('end_time')->eqless(time());
foreach ($pages as $page){
$page->setIsActive(false);
$page->commit();
}
после чего я изменил тип данных новостей на свой, код получился следующий
Код: [Выделить]
public function checkFinish(){
$this -> sendNotifications(); //тут я отправляю себе на почту письмо
$pages = new selector('pages');
$pages->types('hierarchy-type')->name('mymodule', 'mymethod');
$pages->where('is_active')->notequals(false);
$pages->where('end_time')->eqless(time());
foreach ($pages as $page){
$page->setIsActive(false);
$page->commit();
}
}
mymodule и mymethod соответствуют типу в настройках шаблонов данных.
И тут самое интересное, код внезапно перестал выполняться, все поля имеются и заполнены корректно, не выполняется код именно когда функция вызывается кроном, при том уведомление на почту уходит, а страницы не снимаются с публикации, а если я вызываю ее напрямую из браузера, то она отрабатывает полностью, в общем судя по всему дело именно в типе данных, может быть нужно какие нибудь права доступа выставлять?