关于 celery 的 worker 运行太多太快,是不是会把数据库的连接数用光?

2017-08-20 13:53:46 +08:00
 qq12345454

celery+django

在异步中,有任务 a 和任务 b,都需要连接数据库,做读写操作

任务 a 每隔 10 分钟运行一次, 然后任务 a 会在循环中运行 100 个任务 b

(按照我的理解,只要运行一次任务 a, 就花掉了 101 个数据库连接数)

如果那 100 个任务 b 没有在十分钟内运行完毕并关闭数据库连接,那么第二轮任务 a 又开始运行 100 个任务 a

这样下去, 那数据库的连接数 岂不是会成千上万?

想请教下大家,这种情况应该如何处理呢

谢谢

1990 次点击
所在节点    问与答
3 条回复
zhanglintc
2017-08-20 14:31:44 +08:00
不可以主动断开连接吗
qq12345454
2017-08-20 14:47:53 +08:00
@zhanglintc 好像不行,是 django 控制的 好像
TangMonk
2017-08-20 21:44:19 +08:00
没连接池吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/384336

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX