djiney / yii2-crontab
Yii Framework 2.0 组件 crontab 管理器
dev-master
2018-11-20 21:48 UTC
Requires
- php: >=7.0.0
- dragonmantank/cron-expression: ^2.2
- yiisoft/yii2: *
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