예제 #1
0
 /**
  * 
  * 针对一个任务,调用适当方法进行处理,处理后回写执行结果
  * 任务种类 'checkout', 'update', 'delete', 'rsync'
  * 
  */
 public function run($task_id)
 {
     $task = \Tasks::find($task_id);
     if ($task->status != 'created') {
         return $this->err('供执行的任务必须是初始状态');
     }
     //TODO 检查前置任务pre_task 的状态
     if ($task->pre_task && $task->pre->status != 'success') {
         return $this->err('前置任务尚未完成');
     }
     $task->status = 'execute';
     $task->execute_time = date('Y-m-d H:i:s');
     $task->save();
     $func = '_run' . ucfirst($task->type);
     $result = $this->{$func}($task);
     $task->output = $result['output'];
     $task->status = $result['result'] ? 'success' : 'failed';
     $task->save();
 }
예제 #2
0
 public static function get_one($id)
 {
     $res = Tasks::find($id);
     return $res;
 }