/** * 添加定时任务,数据库中,队列中 * @author wugx * @version 1.0 * @date 2015-11-15 * @anotherdate 2015-11-15T03:51:58+0800 * @param [type] $fullClassNameAndMethod \namespace\classname:method * @param int $second 执行时间戳 * @param array $params 参数 */ public function addTask($fullClassName, $methodName, $exec_time, $params = []) { if (!method_exists($fullClassName, $methodName)) { return false; } // echo '添加任务:'.self::$min_exec_time.PHP_EOL; $model = new TimerModel(); $model->class = $fullClassName; $model->method = $methodName; $model->params = json_encode($params); $model->exec_time = $exec_time; if ($model->save()) { // $this->tasks->test($model); // self::setMinExecTime($model->exec_time); // $que = self::$tasks; // echo $model->id.'队列:'.json_encode($model).PHP_EOL; // $task = json_decode(json_encode($model->toArray())); $this->tasks->insert($model); //添加新任务到队列 $this->setExecutor(); //设置定时器 return $model; } else { echo '保存失败..' . PHP_EOL; return false; } }