1

我想有一个单独的实例来在我的生产环境中运行 Sidekiq。

目前我有db,webapp实例,并且该app实例正在处理 sidekiq,这被证明是一个错误的举动。

我用角色创建了一个新实例redis,但是当我通过 SSH 连接到它时redis_mastersidekiq没有任何东西在运行,如果我cap deploy对它进行操作,bundle install它会说“dotenv”仅适用于具有角色的实例app并且它回滚了。

我该如何设置?我是否需要将应用角色添加到 Sidekiq 实例才能正常工作?

编辑: 好的,我通过将app角色添加到 instance running 来使其工作sidekiq。我还手动从中删除了passengerandapache角色,因此它不会启动应用服务器。我现在面临的唯一问题是在部署期间rubber不会自动启动、停止和重新启动。sidekiq需要弄清楚这一点。

不过看起来不错。

4

1 回答 1

0

这些是ansible角色吗?

我建议在你的 ansible playbook 中设置一个 rails 和 ruby​​ 角色(单独),在你的新 sidekiq-prod 实例中运行 playbook,然后执行cap prod deploy

如果您使用带有 capistrano 的 rails 应用程序进行 sidekiq 部署,您可以在以下设置中访问 rails env lib/capistrano/tasks/sidekiq.cap

export RAILS_ENV=<%= fetch(:rails_env) %>

于 2014-05-05T17:23:03.683 回答