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

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
slowlyo

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

2个月前 评论

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

2个月前 评论

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

2个月前 评论
slowlyo

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

2个月前 评论

我觉得楼上说的对

2个月前 评论

file

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

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

1个月前 评论

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