如何在发动机厂启动sidekiq

时间:2013-12-11 11:05:29

标签: ruby-on-rails-3 deployment sidekiq engineyard

我正在将一个rails3应用程序从heroku转移到引擎码。我想知道如何在每个部署的引擎码上启动(或重新启动)sidekiq?要检查sidekiq是否正常工作,我ssh到EY实例并手动启动sidekiq。我希望从EY部署脚本(config / deploy.yml)处理此过程。我习惯于mina部署和EC2。

1 个答案:

答案 0 :(得分:6)

Engine Yard提供了两种自定义环境的方法。您可以使用custom chef recipesdeploy hooks

对于SideKiq,您将要同时使用它们。您将使用自定义厨师配方来配置和运行SideKiq,并使用部署挂钩在每次部署新代码时重新启动SideKiq。

Engine Yard在http://github.com/engineyard/ey-cloud-recipes/tree/master/cookbooks/sidekiq为SideKiq提供预制的示例自定义厨师配方。示例配方的文档也准确显示了部署挂钩的用途。

要使用自定义配方,首先需要在本地安装引擎码宝石(gem install engineyard)。然后,您将使用git clone git@github.com:engineyard/ey-cloud-recipes.git制作示例存储库的副本。

克隆存储库后,需要将require_recipe 'sidekiq'添加到./ey-cloud-recipes/cookbooks/main/recipes/default.rb,然后按照文档中的说明修改sidekiq配方

完成所有操作后,您可以运行ey recipes upload,然后ey recipes apply将配方应用到您的环境中。您可能需要指定一些命令行选项,具体取决于EY gem是否可以猜测您尝试将配方应用于哪个应用程序和环境。 ey命令的输出应该为您提供执行此操作所需的信息。

在应用了配方之后,您将需要创建它们在您的应用程序所在的git存储库中部署挂钩。在存储库的根目录中创建一个“deploy”目录,并将after_restart.rb部署挂钩添加为在sidekiq chef recipe的文档中描述。

重新部署,你应该好好去。

如果您遇到任何问题,请在Engine Yard的支持下订票,我们很乐意为您提供帮助。