TaskSystem/app/task/TaskCron.php
2023-08-10 17:10:12 +08:00

36 lines
1.0 KiB
PHP

<?php
namespace app\task;
use app\common\model\task_scheduling_plan\TaskSchedulingPlan;
use app\job\TaskAdd;
use app\job\TaskInformationJob;
use yunwuxin\cron\Task;
class TaskCron extends Task{
public function configure()
{
$this->daily(); //设置任务的周期,每天执行一次,更多的方法可以查看源代码,都有注释
}
/**
* 执行任务
* @return mixed
*/
protected function execute()
{
//任务结算
$all=TaskSchedulingPlan::whereDay('start_time')->with(['template_info','scheduling'])->select()->toArray();
foreach($all as $k=>$v){
queue(TaskInformationJob::class,$v);
}
//任务下发
$time=strtotime(date('Y-m-d',strtotime('+1 day')));
$tiem_end=$time+86399;
$all=TaskSchedulingPlan::where('start_time','between',[$time,$tiem_end])->with(['template_info','scheduling'])->select()->toArray();
foreach($all as $k=>$v){
queue(TaskAdd::class,$v);
}
//...具体的任务执行
}
}