概述
/**
* 运行任务
* @param $interval
* @return bool
*/
static public 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;
}
$tasks = TickTable::get_task();获取任务然后循环给每个任务创建一个进程这里会去判断当前是否有当前任务是否有设置了unique的任务,然后判断是否
self::$unique_list[$task["id"]] >= $task["unique"]
如果是则不去新建子进程
至于create_process这个方法就很简单了会去调用在plugin下的对应的处理类
转载于:https://www.cnblogs.com/gavinjunftd/p/8080353.html
最后
以上就是坦率篮球为你收集整理的do_something方法解析的全部内容,希望文章能够帮你解决do_something方法解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复