我目前正在处理的 Rails 应用程序托管在 Amazon EC2 服务器上。它使用 Resque 来运行后台作业,并且有 2 个这样的实例(可能是生产和一个阶段)。此外,我已将 Resque 监控网络应用程序安装到/resque 路由(仅在舞台上)。
这是我的问题: 为什么在我的阶段系统中注册了来自多个主机的工作人员,我该如何避免这种情况?
一些额外的细节: 我看到 worker 显然来自 3 台不同的机器,但我只设法识别了其中的 2 台——舞台(显然)和生产。第三个有另一种地址格式(以 domU 开头)并且不知道它可能是什么。
最佳答案
看起来您正在跨多个 resque 服务器环境共享单个 Redis 服务器。
安全执行此操作的最佳方法是使用单独的 Redis 服务器或单独的 Redis 数据库或命名空间。 Redis-namespace gem 可以与 Resque 一起使用,以隔离每个环境的 Resque 队列和工作数据。
关于ruby-on-rails-3 - Resque 来自其他主机的 Worker 在我的系统上注册并处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14018070/