crontab-task schedule

dev-1.2.0-bk
版本
2024-12-04
版本更新時(shí)間
2088
安裝
7
star
webman-tech/crontab-task
workerman/crontab
在 webman 中更加便捷的使用
安裝
composer require webman-tech/crontab-task
特點(diǎn)
- 基于 workerman/crontab
- 支持單進(jìn)程單個(gè)定時(shí)任務(wù),和單進(jìn)程多定時(shí)任務(wù)快捷配置(解決webman默認(rèn)的單進(jìn)程下起多個(gè)定時(shí)任務(wù)阻塞的問題),見配置 process.php
- 定時(shí)任務(wù)常規(guī) log 支持(start/end/exception),見配置 app.php
使用
- 創(chuàng)建 Task
<?php
namespace app\crontab\tasks;
use WebmanTech\CrontabTask\BaseTask;
class SampleTask extends BaseTask
{
/**
* @inheritDoc
*/
public function handle()
{
// 實(shí)際業(yè)務(wù)
echo date('Y-m-d H:i:s') . PHP_EOL;
}
}
- 添加到 process
配置:config/plugin/webman-tech/crontab-task/process.php
<?php
return (new Schedule())
// 添加單個(gè)定時(shí)任務(wù),獨(dú)立進(jìn)程
->addTask('task1', '*/1 * * * * *', \WebmanTech\CrontabTask\Tasks\SampleTask::class)
// 添加多個(gè)定時(shí)任務(wù),在同個(gè)進(jìn)程中(注意會(huì)存在阻塞)
->addTasks('task2', [
['*/1 * * * * *', \WebmanTech\CrontabTask\Tasks\SampleTask::class],
['*/1 * * * * *', \WebmanTech\CrontabTask\Tasks\SampleTask::class],
])
->buildProcesses();
命令
php webman crontab-task:list
: 列出所有 crontab 定時(shí)任務(wù)
php webman make:crontab-task [name]
: 創(chuàng)建 crontab task