Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python芹菜在redis上创建了很多连接_Python_Redis_Celery - Fatal编程技术网

Python芹菜在redis上创建了很多连接

Python芹菜在redis上创建了很多连接,python,redis,celery,Python,Redis,Celery,我正在尝试使用redis和芹菜制作互联网服务。 我的redis实例绑定到10个并发客户端。当我尝试只运行一个worker时,它会出于某种原因启动6-9个连接(我在redis管理面板上看到)。一段时间后,它开始抛出“已达到最大客户端数”错误。 这是工人使用这么多连接的预期行为吗?我应该切换到rabbitmq吗 config = Configuration(None, EnvironmentType.beta, '../configuration.json') beta_broker = Cel

我正在尝试使用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连接池设置最大连接数

redis\u max\u连接
-默认值:无限制。

尝试以下操作:

beta_broker.conf["broker_transport_options"] = {'fanout_prefix': True,
                                                'fanout_patterns': True,
                                                'max_connections': 2,
                                                'socket_keepalive': True},
beta_broker.conf["broker_pool_limit"] = 2

没有帮助。我仍然看到很多客户。在帖子中查看我的更新谢谢你的解决方案,我一定会尝试,但我决定改用RQ。我觉得它更简单,更有趣。是的,如果你想要简单,那么Huey()或RQ是值得尝试的。。。芹菜功能更强大、更灵活(用户可以编写任何主要芹菜功能的实现——我们已经有了自己的自动缩放、调度、监控等)。