public static function getInstance() { if (!self::$Instance) { self::$Instance = new TickTable(); } return self::$Instance; }
/** * 运行任务 * @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]); } } } $tasks = TickTable::get_task(); if (empty($tasks)) { return false; } foreach ($tasks as $task) { if (isset($task["unique"]) && $task["unique"]) { if (isset(self::$unique_list[$task["id"]]) && self::$unique_list[$task["id"]] >= $task["unique"]) { continue; } self::$unique_list[$task["id"]] = isset(self::$unique_list[$task["id"]]) ? self::$unique_list[$task["id"]] + 1 : 0; } (new Process())->create_process($task["id"], $task); } return true; }