我正在尝试使用redis和芹菜制作互联网服务。 我的redis实例绑定到10个并发客户端。当我尝试只运行一个worker时,它会出于某种原因启动6-9个连接(我在redis管理面板上看到)。一段时间后,它开始抛出“已达到最大客户端数”错误。 这是工人使用这么多连接的预期行为吗?我应该切换到rabbitmq吗
config = Configuration(None, EnvironmentType.beta, '../configuration.json')
beta_broker = Celery('src.beta_module', broker=config.celery_redis_url, include=['src.beta_module.notifications'])
def main():
beta_broker.start(argv=['celery', 'worker', '-E', '--concurrency=1', '--loglevel=DEBUG'])
if __name__ == '__main__':
main()
已更新
我试图建立redis\u max\u连接,但没有帮助
beta_broker = Celery('src.beta_module', broker=config.celery_redis_url, include=['src.beta_module.notifications'])
beta_broker.conf.redis_max_connections = 2
经纪人池限制=0 经纪人\运输\选项={ “最大连接数”:20, }
仍然创建8个到redis的连接
有没有办法禁止接收任务的结果?我不需要这个功能无论如何。也许这有助于减少连接的数量
已更新
经过大约3天的研究和阅读大量的博客和文档后,我决定改用rq
请尝试以下操作:
您是否尝试过用芹菜设置redis连接池的最大连接数https://docs.celeryproject.org/en/stable/userguide/configuration.html#redis-max-connections
redis_max_connections
-默认值:无限制相关问题 更多 >
编程相关推荐