2017年12月21日
摘要: line58:count($cron) == 5 如果满足条件的话,会返回[1=>1],会在插入tasktable 我们就讲解当个数为6的情况 举例 * * * * ** 这种 不符合 */3 1-5这种类型的话会直接跳到行96,97 会计算出 如果是*/3的话 如果是1-5的话 如果是1的话 阅读全文
posted @ 2017-12-21 15:25 invokermiracle 阅读(482) 评论(0) 推荐(0) 编辑
摘要: $tasks = TickTable::get_task();获取任务然后循环给每个任务创建一个进程这里会去判断当前是否有当前任务是否有设置了unique的任务,然后判断是否 self::$unique_list[$task["id"]] >= $task["unique"]如果是则不去新建子进程至 阅读全文
posted @ 2017-12-21 15:24 invokermiracle 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 这里我们先分析Crontab::start() 从这个意思我们应该知道这应该是进程启动的方法 因为crontab自己注册了引入方法,所以方法在include/Crontab.class.php中 先检查pid文件是否存在,如果存在说明进程已经启动不能再次开始 self::daemon(); 在上一节 阅读全文
posted @ 2017-12-21 15:22 invokermiracle 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 在分析之前,需要了解php cli模式下的编程 1.了解getopt函数,php手册地址:http://php.net/manual/zh/function.getopt.php 如上,main.php 可以支持长短选项,以及接收参数 短选项是options 。该字符串中的每个字符会被当做选项字符, 阅读全文
posted @ 2017-12-21 15:21 invokermiracle 阅读(1659) 评论(0) 推荐(0) 编辑
摘要: 项目git地址:https://github.com/osgochina/Donkey/tree/v0.8 项目的用途: 基于swoole的定时器程序,支持秒级处理. 异步多进程处理。 完全兼容crontab语法,且支持秒的配置,可使用数组规定好精确操作时间 请使用swoole扩展1.7.9-sta 阅读全文
posted @ 2017-12-21 15:20 invokermiracle 阅读(190) 评论(0) 推荐(0) 编辑