我在两个不同的实例上运行了两个Rails应用程序(比如Server1
和Server2
),但它们有相似的代码并共享相同的Postgresql DB。
我安装了Sidekiq并从两台服务器推送Queue中的作业,但我只在Server1
中运行Sidekiq进程。
我已经单独使用Redis服务器并在Server1上运行,它与Server2共享Redis。
如果从Server2推送的作业在Server1的Sidekiq进程中得到处理,那就是我真正想要的。
我的问题是
Server1上的Sidekiq进程如何知道在Redis中推送作业?
Sidekiq进程是否持续在Redis服务器上检查是否有任何新作业,或者Redis服务器是否正在向Sidekiq进程暗示新作业?
我对此感到困惑和惊讶!!!
有人可以澄清Sidekiq从Redis服务器获取工作的流程吗?
这会对像我这样的新手有所帮助。