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
Requires
- php: ^7.2
- cakephp/cakephp: ^3.4
Requires (Dev)
This package is auto-updated.
Last update: 2024-05-13 20:40:06 UTC
README
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