zoukankan      html  css  js  c++  java
  • do_something方法解析

    /**
         * 运行任务
         * @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下的对应的处理类

  • 相关阅读:
    mysql授权
    mysql函数大全
    mysql常用命令
    ECMAScript中变量的解构赋值
    ECMAScript中的const常量
    ECMAScript中let与var的区别
    javaScript中的变量作用域的闭包处理
    javaScript的prototype对象
    javaScript中的this作用域
    js对象的创建方式
  • 原文地址:https://www.cnblogs.com/gavinjunftd/p/8080353.html
Copyright © 2011-2022 走看看