Как дистанционно очистить кэш?

Хочу по cron отключать  плагин, прописывая в конфиге  =>false

но отключается только после очистки кэша.

Как очистку произвести cli командой или через API?   

9 ответов

  • 1

    ну если кеш файловый, то просто удалить все из папки wa-cache

    • +1
      badhed badhed 22 февраля 2019 22:57 #

      нет твердой уверенности. в конфигурации подключен memcached.

      мне нужно произвести то же что делает кнопка 'Очистка кеша' в настройках.

  • 1

    Кнопка "Очистка кэша" выполняет такой запрос на сервер:

    /webasyst/installer/?module=settings&action=clearCache

    Но просто в крон поставить эту ссылку нельзя, так как она будет отрабатывать только для авторизрованного в админке пользователя.

    Функция clearCache делает фактически:

    installerHelper::flushCache();

    Код хелпера смотрите здесь (функция flushCache()):

    /wa-apps/installer/lib/classes/installerHelper.class.php

    Можете сделать собственный плагин, который будет очищать кэш "один в один", как это делает кнопка "Очистить кэш" (через хелпер). А вызов данного плагина осуществлять через cli:

    https://developers.webasyst.ru...

    • +1
      Но просто в крон поставить эту ссылку нельзя, так как она будет отрабатывать только для авторизрованного в админке пользователя.

      http ссылки в принципе в cli не работают "as is" хоть с авторизацией хоть без. доступны только cli контроллеры.

      другое дело что можно прямо в командной строке составить и выполнить скрипт аля 

      php -r 'echo "hello world";'

      но такими извращениями пусть он сам занимается)

      • +1


        http ссылки в принципе в cli не работают "as is" хоть с авторизацией хоть без. доступны только cli контроллеры.

        Я имел в виду, добавление ссылки в задачу крона (wget), а не в cli. Но, как сказал выше, смысла в этом нет, так как данная ссылка отработает только в браузере у авторизированного под админом пользователя. 

        Поэтому можно сделать несложный плагин, который будет иметь cli.php. А одним из действий данного скрипта будет выполнение: 

        installerHelper::flushCache();

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите