Как обновить кеш если скрипт выполняет крон

Здравствуйте.

выполняется команда по крону (обновление цен в магазине согласно курса евро)
/usr/bin/curl --silent "http://сайт.ru/update-price" > /dev/null 2>&1
раньше такая команда обновляла цены в минишопе хорошо. Изменения сразу же видны были на сайте.

Сейчас же, я заметил что изменения в базе произошли, а на сайте ничего не изменилось.

Зашел в админку обновил кеш и вуаля, новые цены стали отображаться.

Подскажите что нужно сделать в сниппете чтобы обновить кеш у всех страниц на которых выводятся цены.
Konstantin
10 сентября 2016, 09:46
modx.pro
1 393
0

Комментарии: 3

Clean
10 сентября 2016, 23:14
0
Нужно сначала определиться где выполняется скрипт — как я понял в стороннем PHP файле.
Вам нужно в скрипте вытащить ID ресурсов для которых нужно обновить кэш и почистить их из core/cache/

если не принципиально и можно грохнуть все то вот такой например способ может подойти
<?php
define('MODX_API_MODE', true);
require 'index.php';
shell_exec('rm -rf ' . MODX_CORE_PATH . 'cache/');
при условии что сервер разрешает из PHP запуск скриптов.
так же кэш можно удалить средствами самого MODx из его API.
    Іван Клімчук
    10 сентября 2016, 23:28
    0
    rm -rf весьма опасно, особенно в случае с конкатами и константой, которую можно переопределить.
    есть же API вызов $modx->cacheManager->refresh();
      Clean
      10 сентября 2016, 23:37
      0
      соглашусь — так лучше на порядок и штатными методами.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3