cronox/ cake-cron-jobs
CakePHP3 插件,用于创建 CRON 作业
1.1.0
2019-06-13 08:56 UTC
Requires
- php: ^7.2
- cakephp/cakephp: ^3.4
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-13 21:19:30 UTC
README
安装
Composer
composer require cronox/cake-cron-jobs
加载插件
确保插件已在您的 config/bootstrap.php 文件中加载
Plugin::load('Cronox/CronJobs');
数据库
使用 cakephp 的迁移来初始化数据库表
bin/cake migrations migrate --plugin Cronox/CronJobs
示例
要将方法 \App\Lib\Mailer::sendMail('cronox@example.com','Message text') 添加到 cron 队列中
try { CronJobHelper::create(\App\Lib\Mailer::class, 'sendMail', ['cronox@example.com','Message text']); } catch (\Exception $exception) { throw $exception; }
要运行队列,通过 crontab 添加以下行
bin/cake cronox/cron_jobs.cron_jobs
示例输出
➜ www ✗ bin/cake cronox/cron_jobs.cron_jobs
Found 1 jobs.
Running job #5 App\Lib\Mailer::sendMail
Job is completed correctly
➜ www ✗
分组任务
try { $groupEmailCode = 'Email'; $groupSMSCode = 'SMS'; CronJobHelper::create(\App\Lib\Mailer::class, 'sendMail', ['cronox@example.com','Message text'], $groupEmailCode); CronJobHelper::create(\App\Lib\SmsApi::class, 'sendSMS', ['321654987','Message text'], $groupSMSCode); } catch (\Exception $exception) { throw $exception; }
要运行分组任务,通过 crontab 添加以下命令
bin/cake cronox/cron_jobs.cron_jobs Email bin/cake cronox/cron_jobs.cron_jobs SMS