semivan / php-scheduler
Cron Scheduler
1.0.2
2021-11-29 09:52 UTC
Requires
- php: >=7.1
- dragonmantank/cron-expression: 2.*
This package is auto-updated.
Last update: 2024-09-29 05:02:40 UTC
README
要求
- PHP >= 7.1
- dragonmantank/cron-expression
安装
composer require semivan/php-scheduler
配置任务
标准任务
$job = new \Scheduler\Job\BaseJob(); // Установка интервала (раз в неделю) $job->setExpression('0 0 * * 0'); // Установка выполняемого метода $job ->setCallableClass(CallableClass::class) ->setCallableMethod('callableMethod');
用户自定义任务(例如:从数据库中)
// CustomJob реализует интерфейс \Scheduler\Job\BaseJobInterface $jobs = CustomJob::findAll();
配置调度器
$loader = new \Scheduler\Loader\BaseLoader(); // Добавление задания $loader->addJob($job); //$loader->addJobs($jobs); $scheduler = new \Scheduler\Scheduler($loader);
安装自定义日志类
// CustomLog реализует интерфейс \Scheduler\Log\BaseLogInterface $loader->setLogClass(CustomLog::class);
安装额外的任务处理或日志处理函数
函数接收任务和日志,以及单独的日志。
可以用于检查结果,将日志保存到数据库等。
$loader->setCallback([new CallableClass(), 'callback']);
启动调度器
$completedJobs = $scheduler->run();
设置cron配置文件,以每分钟执行一次此命令
直接启动任务而不添加到队列
$log = $scheduler->runJob($job); $job->addLog($log);