qq12345454
V2EX  ›  问与答

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

  •  
  •   qq12345454 · Aug 20, 2017 · 2423 views
    This topic created in 3279 days ago, the information mentioned may be changed or developed.

    celery+django

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

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

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

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

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

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

    谢谢

    3 replies    2017-08-20 21:44:19 +08:00
    zhanglintc
        1
    zhanglintc  
       Aug 20, 2017 via iPhone   ❤️ 1
    不可以主动断开连接吗
    qq12345454
        2
    qq12345454  
    OP
       Aug 20, 2017
    @zhanglintc 好像不行,是 django 控制的 好像
    TangMonk
        3
    TangMonk  
       Aug 20, 2017 via Android
    没连接池吗
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5438 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 01:29 · PVG 09:29 · LAX 18:29 · JFK 21:29
    ♥ Do have faith in what you're doing.