服务器定时任务太多,导致后面的任务不能严格的按照设定的时间跑任务怎么处理?

AI摘要
服务器定时任务堆积导致执行延迟,可通过优化任务调度策略、设置任务优先级、增加服务器资源或采用分布式任务队列解决。

服务器定时任务太多,导致后面的任务不能严格按照预设的时间跑,这个怎么处理呀?
服务器定时任务太多,导致后面的任务不能严格的按照设定的时间跑任务怎么办?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7
slowlyo

定时器里面只负责发任务, 启动多个队列来处理实际业务

3个月前 评论

除了加服务器 还有别的方式吗

3个月前 评论

这些定时器抽离出来用swoole或者Swow的协程来实现,现在看起来像是任务阻塞,导致所有的定时器全部阻塞了

3个月前 评论
slowlyo

定时器里面只负责发任务, 启动多个队列来处理实际业务

3个月前 评论

我觉得楼上说的对

3个月前 评论

file

3个月前 评论
寞小陌 (楼主) 3个月前

后台任务 runInBackground 是可以的 但是它是每个任务会启动一个进程 如果你同一时间启动的任务很多 比如20-30个 就会同时启动20-30个进程 占用cpu会比较高 如果有更多的任务 服务器如果资源不够 可能会卡死 这是在同一时间执行很多任务的情况下 如果比较耗时的 可以丢入队列里面做分批处理 减少这个后台进程占用时间

3个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!