/** * 下一个任务 */ protected static function next_sec() { if (self::$current == 59) { self::$current = 0; } else { self::$current += 1; } }
/** * 运行任务 * @param $interval * @return bool */ public static function do_something($interval) { //TurnTable::debug(); $tasks = TurnTable::get_task(); if (empty($tasks)) { return false; } foreach ($tasks as $id => $task) { if (isset($task["unique"]) && $task["unique"]) { if (isset(self::$unique_list[$id]) && self::$unique_list[$id] >= $task["unique"]) { continue; } self::$unique_list[$id] = isset(self::$unique_list[$id]) ? self::$unique_list[$id] + 1 : 0; } (new Process())->create_process($id, $task); } return true; }
/** * 运行任务 * @param $interval * @return bool */ public static function do_something($interval) { //是否设置了延时执行 if (!empty(self::$delay)) { foreach (self::$delay as $pid => $task) { if (time() >= $task["start"]) { (new Process())->create_process($task["task"]["id"], $task["task"]); unset(self::$delay[$pid]); } } } //TurnTable::debug(); $tasks = TurnTable::get_task(); if (empty($tasks)) { return false; } foreach ($tasks as $id => $task) { if (isset($task["unique"]) && $task["unique"]) { if (isset(self::$unique_list[$id]) && self::$unique_list[$id] >= $task["unique"]) { continue; } self::$unique_list[$id] = isset(self::$unique_list[$id]) ? self::$unique_list[$id] + 1 : 0; } (new Process())->create_process($id, $task); } return true; }