djiney/yii2-crontab

Yii Framework 2.0 组件 crontab 管理器

安装: 74

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:yii2-extension

dev-master 2018-11-20 21:48 UTC

This package is auto-updated.

Last update: 2024-09-21 20:48:53 UTC


README

Yii2 扩展,有助于您在添加或删除新的 crontab 任务时无需每次都编辑服务器 cron 配置。还可以帮助在多服务器系统中分配任务。

安装

Composer 安装

composer require djiney/yii2-crontab dev-master

配置

您可以在代码中找到更具体的信息

迁移

只需运行基于 Yii2 的基本迁移并指定自定义路径即可

php yii migrate/up --migrationPath=@vendor/djiney/yii2-crontab/src/migrations/

控制器

为您的控制台应用程序配置添加控制器类

'controllerMap' => [
   ...
   'task-manager' => 'djiney\crontab\controllers\TaskManagerController'
   ...
],

组件

使用任务指定配置组件

'components' => [
   ...
   'cron' => [
      'class' => 'djiney\crontab\components\Configuration',
      'tasks' => require(__DIR__ . '/cron.php')
   ],
   ...
],

每个任务都有自己的配置模板

'cron/balance' => [
   'command' => '/var/www/html/yii cron/balance',
   'log' => '/var/www/html/balance.log',
   'interval' => [
      'minute'   => '*/8',
      'hour'     => '11',
      'day'      => '12-14',
      'month'    => '1,3',
      'week_day' => '5'
    ],
],

服务器 cron

别忘了将 cron 任务添加到您的服务器上(您可以添加此命令到所有服务器,任务不会重复)。

* * * * * sudo -u nginx /var/www/html/yii task-manager/create-tasks >> /var/www/html/console/runtime/logs/create-tasks.log
* * * * * sudo -u nginx /var/www/html/yii task-manager/start-tasks >> /var/www/html/console/runtime/logs/start-tasks.log

!! cron 文件末尾的空格很重要 !!

Centos 7 中此文件的路径通常是

/var/spool/cron/root