Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/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

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
Heroku 如何实现RQ工作者到redis的心跳?_Heroku_Redis_Python Rq - Fatal编程技术网

Heroku 如何实现RQ工作者到redis的心跳?

Heroku 如何实现RQ工作者到redis的心跳?,heroku,redis,python-rq,Heroku,Redis,Python Rq,我正在写一个应用程序,使用RQ的工作。RQ的Redis实例在Heroku中,但RQ工作人员在外部机器上。它们在启动时建立Redis连接 如果Heroku移动了Redis实例(它可以也确实如此),那么工作人员就会陷入困境,即连接到不再存在的Redis实例,而没有连接到新实例 我可以使用API从heroku获得redis URL,但如何让工作人员重新连接 我想在启动时获取Redis URL,然后有一个后台线程,每N分钟ping一次Redis服务器,当它无法与Redis对话时退出 因为我会有一个进程监

我正在写一个应用程序,使用RQ的工作。RQ的Redis实例在Heroku中,但RQ工作人员在外部机器上。它们在启动时建立Redis连接

如果Heroku移动了Redis实例(它可以也确实如此),那么工作人员就会陷入困境,即连接到不再存在的Redis实例,而没有连接到新实例

我可以使用API从heroku获得redis URL,但如何让工作人员重新连接

我想在启动时获取Redis URL,然后有一个后台线程,每N分钟ping一次Redis服务器,当它无法与Redis对话时退出

因为我会有一个进程监视器(马戏团、监管者等等),它只会重新启动工人

这合理吗?除了Heroku内部的Redis实例之外,在Heroku外部运行RQ Worker是否还有更常见的最佳实践


就这一点而言,Heroku上的RQ工作人员似乎必须处理相同的问题。

嗨,我在不同的场景中遇到了相同的问题。我用redis编写了自己的消息队列,并希望实现heartbeat来处理redis断开连接。