cronox/cake-cron-jobs

CakePHP3 Plugin to create jobs for CRON

Installs: 180

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Type:cakephp-plugin

1.1.0 2019-06-13 08:56 UTC

This package is auto-updated.

Last update: 2024-05-13 20:40:06 UTC


README

Build Status Latest Stable Version Downloads Latest Version License

Installation

Composer

composer require cronox/cake-cron-jobs

Load the Plugin

Ensure the Plugin is loaded in your config/bootstrap.php file

Plugin::load('Cronox/CronJobs');

Database

Init the database table by using cakephp's migrations

bin/cake migrations migrate --plugin Cronox/CronJobs

Example

To add method \App\Lib\Mailer::sendMail('cronox@example.com','Message text') to cron queue:

try {
    CronJobHelper::create(\App\Lib\Mailer::class, 'sendMail', ['cronox@example.com','Message text']);
} catch (\Exception $exception) {
    throw $exception;
}

To run queue by cron add following line to crontab:

bin/cake cronox/cron_jobs.cron_jobs

Example output:

➜  www ✗ bin/cake cronox/cron_jobs.cron_jobs
Found 1 jobs.
Running job #5 App\Lib\Mailer::sendMail
Job is completed correctly
➜  www ✗ 

Grouped tasks

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;
}

To run grouped tasks by cron add following commands to crontab:

bin/cake cronox/cron_jobs.cron_jobs Email
bin/cake cronox/cron_jobs.cron_jobs SMS