我有两个使用eventlet池化的celery workers,配置如下:
celery multi start w1 w2 -A proj -l info --time-limit=600 -P eventlet -c 1000
同时运行超过100个任务时,我会遇到以下错误:
我在使用默认设置为100的max.连接的PostgreSQL上运行。OperationalError: FATAL: remaining connection slots are reserved for non-replication superuser connections
从我在网上阅读的内容来看,我认为线程池中的工作线程应该共享同一个DB连接。然而,我的线程似乎想要为每个线程创建一个连接,这就是错误发生的原因。
有什么建议吗?
谢谢!