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


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

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

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

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

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

Комментарии (3)

  1. 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.
    1. Иван Климчук 10 сентября 2016, 23:28 # 0
      rm -rf весьма опасно, особенно в случае с конкатами и константой, которую можно переопределить.
      есть же API вызов $modx->cacheManager->refresh();
      1. Clean 10 сентября 2016, 23:37 # 0
        соглашусь — так лучше на порядок и штатными методами.
    Вы должны авторизоваться, чтобы оставлять комментарии.