hyperf定时任务使用注解对定时任务进行阻塞。当前运行中定时任务未执行完,下一次不执行
时间: 2023-11-18 16:41:32 浏览: 135
注解式的定时任务
在 Hyperf 中使用注解阻塞定时任务的话,如果当前运行中的定时任务未执行完,下一次定时任务确实不会被执行。这是因为 Hyperf 的定时任务是基于 Swoole 实现的,Swoole 在执行定时任务时,会判断上一次定时任务是否执行完毕,如果未执行完毕,则不会执行下一次定时任务。这样做的目的是为了避免定时任务的并发执行,保证定时任务的准确性。
如果需要并发执行定时任务,可以考虑将定时任务的逻辑抽离出来,转为使用协程或者异步任务进行处理。这样可以避免定时任务的阻塞,提高系统的并发能力。另外,还可以使用 Swoole 提供的定时器组件来实现定时任务,这样可以更加精细地控制定时任务的执行。
阅读全文