我举例个场景,我起了一个5秒一次请求的定时任务,任务中5秒后业务代码还没执行完,这时候会不会出现没有执行完,就启动下次任务,这样子久而久之造成堆积呢?
我自己的见解就是,在一次任务中,使用请求库中的并发请求来调用接口通知
每个进程都是顺序处理的,不会并发执行任务
好的,感谢你的回答,也就是当前定时任务未执行完之前,这个任务是不会继续执行了?
对
我是類似場景,但用的是timer,如:
public function onworkerstart(){ $this->task(); } private function task(){ curl_init(); //....... curl_exec(); Timer::add(5,function(){ $this->task(); },null,false); }
因为我这边远程调用有延迟,还要处理一堆通知业务,可能预设的时间内没办法完成,所以担心在未完成之前,当前的任务又开始执行了
我之前也是怕這樣,所以我是執行完然後設置個一次性的執行器,固定執行完後x秒內再次執行
每个进程都是顺序处理的,不会并发执行任务
好的,感谢你的回答,也就是当前定时任务未执行完之前,这个任务是不会继续执行了?
对
我是類似場景,但用的是timer,如:
因为我这边远程调用有延迟,还要处理一堆通知业务,可能预设的时间内没办法完成,所以担心在未完成之前,当前的任务又开始执行了
我之前也是怕這樣,所以我是執行完然後設置個一次性的執行器,固定執行完後x秒內再次執行