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下的对应的处理类

  • 相关阅读:
    vue+elementUI实现权限的部门管理
    vue+elementUI实现权限的部门管理
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    20 种最奇怪的编程语言
    WinForm导出文件
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/gavinjunftd/p/8080353.html
Copyright © 2011-2022 走看看