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

优质内容筛选与推荐>>
1、响铃:“抢占心智”水土不服,智能营销3.0破局车市营销?
2、dspbuilder11.0使用过程中产生的问题及解决方案
3、CA,给了数据库,给了机器,为啥也扩不了容?
4、基于副本集的分片高可用mongo集群安装 原
5、插入区间


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号