cronox/cake-cron-jobs

CakePHP3 插件,用于创建 CRON 作业

安装: 180

依赖者: 0

建议者: 0

安全: 0

星星: 0

观察者: 1

分支: 0

开放问题: 0

类型:cakephp-plugin

1.1.0 2019-06-13 08:56 UTC

This package is auto-updated.

Last update: 2024-09-13 21:19:30 UTC


README

Build Status Latest Stable Version Downloads Latest Version License

安装

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