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

转载于:https://www.cnblogs.com/gavinjunftd/p/8080353.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值