public function init() { $this->name = "Управление агентами"; $this->modelShowAttribute = "id"; $this->modelClassName = CmsAgent::className(); parent::init(); }
/** * Выполнить агентов */ public function actionAgentsExecute() { /** * Поиск агентов к выполнению */ $agents = CmsAgent::findForExecute()->all(); \Yii::info('Agents execute: ' . count($agents), CmsAgent::className()); if ($agents) { foreach ($agents as $agent) { $agent->execute(); } } }
protected function _installAgents() { //Вставка агентов if (!CmsAgent::find()->where(['name' => 'cms/db/db-refresh'])->one()) { (new CmsAgent(['name' => 'cms/db/db-refresh', 'description' => 'Инвалидация кэша структуры таблиц', 'agent_interval' => 3600 * 3, 'next_exec_at' => \Yii::$app->formatter->asTimestamp(time()) + 3600 * 3, 'is_period' => Cms::BOOL_N]))->save(); } if (!CmsAgent::find()->where(['name' => 'cms/utils/clear-runtimes'])->one()) { (new CmsAgent(['name' => 'cms/utils/clear-runtimes', 'description' => 'Чистка временных диррикторий', 'agent_interval' => 3600 * 24, 'next_exec_at' => \Yii::$app->formatter->asTimestamp(time()) + 3600 * 24, 'is_period' => Cms::BOOL_N]))->save(); } if (!CmsAgent::find()->where(['name' => 'cms/backup/db-execute'])->one()) { (new CmsAgent(['name' => 'cms/backup/db-execute', 'description' => 'Бэкап базы данных', 'agent_interval' => 3600 * 24, 'next_exec_at' => \Yii::$app->formatter->asTimestamp(time()) + 3600 * 24, 'is_period' => Cms::BOOL_N]))->save(); } if (!CmsAgent::find()->where(['name' => 'cms/utils/clear-search-phrase'])->one()) { (new CmsAgent(['name' => 'cms/utils/clear-search-phrase', 'description' => 'Чистка поисковых запросов', 'agent_interval' => 3600 * 24, 'next_exec_at' => \Yii::$app->formatter->asTimestamp(time()) + 3600 * 24, 'is_period' => Cms::BOOL_N]))->save(); } }