Cron и работа с modx
Приветствую!
Задача сама простая, есть параметр 'counterQuote'. Нужно получать его значение и увеличивать на 1 каждый день. Крон работает норм, отчеты о работе приходят, в них весь «index.php», но нужного результата нет.
Что еще надо сделать, чтобы заработало?
Задача сама простая, есть параметр 'counterQuote'. Нужно получать его значение и увеличивать на 1 каждый день. Крон работает норм, отчеты о работе приходят, в них весь «index.php», но нужного результата нет.
//Подключение
require '---- /public_html/index.php';
//Получение параметра и увеличение на 1
$counterQuote = $modx->getObject('modSystemSetting',array('key' => 'counterQuote'));
$counterQuote->set('value',$counterQuote->get('value')+1);
$counterQuote->save();
//Обновление кеша
$cacheRefreshOptions = array( 'system_settings' => array() );
$modx->cacheManager->refresh($cacheRefreshOptions);
Ошибок не выдает, но и не увеличивается. Как сниппет в модх запускать, то все здорово.Что еще надо сделать, чтобы заработало?
Комментарии: 5
Вполне очевидно что крон работает не так нормально как хотелось бы. Как идет вызов? У меня в своих проектах чуть иначе подключение апи:
require_once '/var/www/site.ru/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');
Файл cron.php живет вообще не в папке www сервера, а почти в корне, и выполняется он через php /var/cron.php
если ты про это:
я полагал, что если подключить index.php то можно сразу работать с объектом $modx
Сейчас попробую твой вариант.
//Подключение
require '---- /public_html/index.php';
— это путь неуказанный мной, у меня от корня сервака, на него не ругается. я полагал, что если подключить index.php то можно сразу работать с объектом $modx
Сейчас попробую твой вариант.
Спасибо Николай!
Теперь все работает, заменил свое подключение на твое. Также убрал обновление кеша т.к. и без него работает нормально.
Теперь все работает, заменил свое подключение на твое. Также убрал обновление кеша т.к. и без него работает нормально.
require_once '---- /public_html/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$counterQuote = $modx->getObject('modSystemSetting',array('key' => 'counterQuote'));
$counterQuote->set('value',$counterQuote->get('value')+1);
$counterQuote->save();
Попробуй так:
define('MODX_API_MODE', true);
require '---- /public_html/index.php';
$modx->getService('error', 'error.modError');
if($counterQuote = $modx->getObject('modSystemSetting',array('key' => 'counterQuote')))
{
$counterQuote->set('value',$counterQuote->get('value')+1);
$counterQuote->save();
}
P.S.: как же долго я писал комментарий))
))
Блин) точно точно, вот оказывается что я забыл
значит я все-таки правильно думал, что можно через подключение index.php работать с объектом $modx
Блин) точно точно, вот оказывается что я забыл
define('MODX_API_MODE', true);
щас открыл свои старые файлики парсеров и там тоже прописана эта константа) значит я все-таки правильно думал, что можно через подключение index.php работать с объектом $modx
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.