Автообновление индекса mSeach2 через cron
Есть интернет магазин с импортом из файла.
Импорт производится кроном раз в сутки.
Каждый раз после импорта нужно чистить кеш сайта и обновлять индекс в mSearch2.
Для чистки кеша нашел вот такой скрипт и засунул в cron:
Импорт производится кроном раз в сутки.
Каждый раз после импорта нужно чистить кеш сайта и обновлять индекс в mSearch2.
Для чистки кеша нашел вот такой скрипт и засунул в cron:
<?php
function clearCache() {
require_once('/index.php');
$modx= new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');
$cm = $modx->getCacheManager();
$cm->refresh();
}
?>
Вопрос в следующем: нет ли похожего скрипта для обновления индекса mSearch2, что бы тоже засунуть его в cron? Комментарии: 4
Если кому интересно то вот, рабочий код на обновление кеша, работающий по принципу обновления кеша через админку.
Решение не мое — помог гугл.
Решение не мое — помог гугл.
define("MODX_CORE_PATH", "./core/");
define("MODX_CONFIG_KEY", "config");
include(MODX_CORE_PATH . "model/modx/modx.class.php");
$modx = new modX();
$modx->initialize("xPDO");
$modx->cacheManager->refresh();
$modx->cacheManager->refresh(array(
'context_settings' => array('contexts' => array('web'))
));
$contexts = array();
$query = $modx->newQuery('modContext');
$query->select($modx->escape('key'));
if($query->prepare() && $query->stmt->execute())
{
$contexts = $query->stmt->fetchAll(PDO::FETCH_COLUMN);
}
$results = array();
$modx->cacheManager->refresh(array(
'auto_publish' => array('contexts' => array_diff($contexts, array('mgr'))),
'system_settings' => array(),
'context_settings' => array('contexts' => $contexts),
'db' => array(),
'scripts' => array(),
'default' => array(),
'resource' => array('contexts' => array_diff($contexts, array('mgr'))),
'menu' => array(),
'action_map' => array(),
'lexicon_topics' => array()
), $results);
а вот с обновлением индекса увы, решения так и не нашел
Не проще ли было взять и удалить из консоли директорию /core/cache?
Ну а импорт нужно переписать с использованием процессоров, тогда будут вызываться события MODX и плагин индексации, который их ловит.
Ну а импорт нужно переписать с использованием процессоров, тогда будут вызываться события MODX и плагин индексации, который их ловит.
Проще, но когда клиенту самому требуется очистить кеш, куда безопаснее дать ему ссылку, запускающую скрипт
site.ru/clear.php
нежели давать ему доступы на ftp
site.ru/clear.php
нежели давать ему доступы на ftp
То есть, скрипт директорию удалить не может?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.