我使用redis和python-rq来管理数据处理任务。我希望跨多个服务器分发数据处理(每个服务器将管理多个rq工作人员),但我希望在主服务器上保留一个唯一的队列。
是否有一种使用python-rq实现这一目标的方法?
谢谢。
发布于 2020-02-17 15:01:30
事实证明,这很容易。有两个步骤:
1)在主计算机上配置Redis,使其能够通过远程“代理”服务器向外部通信开放。这是通过编辑bind信息(如解释的in this post )来完成的。如果将绑定值设置为0.0.0.0,请确保设置密码,因为这将打开到任何人的Redis连接。
2)使用url参数在远程“代理”服务器上启动工作人员:
rq worker --url redis://:[your_master_redis_password]@[your_master_server_IP_address]在主服务器上,您可以通过键入以下命令来检查连接是否正确:
rq info --url redis://:[your_master_redis_password]@localhost如果启用了localhost绑定,这将显示“主”中Redis可用的所有工作人员,包括您在远程服务器上创建的新工作人员。
https://stackoverflow.com/questions/60259702
复制相似问题