?>
Release SkeekS CMS 2.0.5

Это достаточно важно обновление, в нем появилась система агентов.

Агенты это некие скрипты, которые выполняются по заданному расписанию с некоторой периодичностью.

Любой компонент, может добавить в систему агента.

Пример автоматического добавления агента в систему, в момент установки решения:

public function init()
    {
        parent::init();

        if (\Yii::$app instanceof Application)
        {
            \Yii::$app->on(Cms::EVENT_AFTER_UPDATE, function(Event $e)
            {

                //Вставка агентов
                if (!CmsAgent::find()->where(['name' => 'logDbTarget/agents/clear-logs'])->one())
                {
                    ( new CmsAgent([
                        'name'              => 'logDbTarget/agents/clear-logs',
                        'description'       => 'Чистка mysql логов',
                        'agent_interval'    => 3600*3, //раз в три часа
                        'next_exec_at'      => \Yii::$app->formatter->asTimestamp(time()) + 3600*3,
                        'is_period'         => Cms::BOOL_N
                    ]) )->save();
                }

            });
        }
    }

Перед событием:

Cms::EVENT_AFTER_UPDATE

Происходит загрузка всех компонентов системы. Они подписываются на это собитие и добавляют агентов.

Агенты на кроне.

Агенты могут работать как на хитах пользователей так и на кроне. Конечно же лучше настроить использование агентов на кроне.

Для этого в настройках агентов Админ панель -> Управление настрйоками -> Базовый модуль CMS -> Анегнты необходимо отключить выполнение агентов на хитах.

А в cron (уточнаяется у хостера, добавить задачу)

* * * * * php yii cms/utils/agents-execute

Полный перечень изменений попавших в релиз:

  • В процесс обновления платформы, установки и удаления пакетов добавлены детали процесса
  • Критичный баг, безопасная загрузка всех компонентов в админке
  • Именнованная группа логов агентов
  • Исправлены ошибки загрузки настроек компонентов CMS в консольных приложениях
  • Обновлен скрипт обновления проекта
  • Добавлено новое событие в Yii::$app->on(Cms::EVENT_AFTER_UPDATE - срабатывает после обновления проекта
  • Исправлена ошибка в управлении настройками таблиц (система администрирования)
  • Разработка системы агентов
  • Изменения в системе логирования
  • В меню админки добавлено новое свойство accessCallback - для дополнительных проверок показа пункта.

 

Alle Kommentare (0)
Keine Kommentare