V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qq12345454
V2EX  ›  问与答

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

  •  
  •   qq12345454 · 2017-08-20 13:53:46 +08:00 · 1992 次点击
    这是一个创建于 2653 天前的主题,其中的信息可能已经有所发展或是发生改变。

    celery+django

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

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

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

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

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

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

    谢谢

    3 条回复    2017-08-20 21:44:19 +08:00
    zhanglintc
        1
    zhanglintc  
       2017-08-20 14:31:44 +08:00 via iPhone   ❤️ 1
    不可以主动断开连接吗
    qq12345454
        2
    qq12345454  
    OP
       2017-08-20 14:47:53 +08:00
    @zhanglintc 好像不行,是 django 控制的 好像
    TangMonk
        3
    TangMonk  
       2017-08-20 21:44:19 +08:00 via Android
    没连接池吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:35 · PVG 02:35 · LAX 10:35 · JFK 13:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.