任务新增预约执行

master
chenzhi 3 years ago
parent e61df7adc4
commit 7d64738080

@ -19,12 +19,15 @@ class CmdTasksModel extends Model{
//获取待执行任务 //获取待执行任务
public function getTask() public function getTask()
{ {
//按顺序获取任务 $has_run = $this->where(['status'=>"1"])->find();
$has_run = $this->where(['status'=>"1"])->count(); if($has_run){
if($has_run > 0){
return false; return false;
} }
$task = $this->field("id,params")->where(['status'=>"0"])->order("id asc")->find(); $where = [
'status'=>"0",
'schedule_time'=>['ELT',time()]
];
$task = $this->field("id,params")->where($where)->order("id asc")->find();
if(empty($task)){ if(empty($task)){
return false; return false;
}else{ }else{
@ -49,7 +52,7 @@ class CmdTasksModel extends Model{
} }
} }
//插入任务 //插入任务
public function addTask($type,$params,$repeat=false,$need_path=true) public function addTask($type,$params,$repeat=false,$need_path=true,$checkScheduleTime = 0)
{ {
if(!$repeat){ if(!$repeat){
if(!$this->isCanAddTask($type)) return false; if(!$this->isCanAddTask($type)) return false;
@ -68,14 +71,27 @@ class CmdTasksModel extends Model{
"uid"=>$_SESSION['onethink_admin']['user_auth']['uid'], "uid"=>$_SESSION['onethink_admin']['user_auth']['uid'],
"created_time"=>time(), "created_time"=>time(),
"params"=>$params, "params"=>$params,
"type"=>$type "type"=>$type,
"schedule_time"=>$checkScheduleTime
]; ];
return $this->add($save); return $this->add($save);
} }
public function addScheduleTask($type,$params,$checkScheduleTime = 0)
{
$this->addTask($type,$params,true,true,$checkScheduleTime);
}
//验证任务 //验证任务
public function isCanAddTask($type) public function isCanAddTask($type,$checkScheduleTime=false)
{ {
$task = $this->field("end_time")->where(['status'=>["in","0,1"],'type'=>$type])->order("id desc")->find(); $where = [
'status'=>["in","0,1"],
'type'=>$type
];
if(!$checkScheduleTime){
$where['schedule_time'] = 0;
}
$task = $this->field("end_time")->where($where)->order("id desc")->find();
if(!empty($task)){ if(!empty($task)){
return false; return false;
} }

Loading…
Cancel
Save