每当Cron与服务器上的多个项目

时间:2012-11-25 11:43:09

标签: ruby-on-rails deployment capistrano whenever whenever-capistrano

我在rails应用程序中随时使用并使用capistrano进行部署。

问题在于,因为我只将它用于一个项目没有问题,但是当我在同一服务器上使用更多项目时,每次部署我的项目时,我都会销毁并重新创建cron文件。我需要每个项目更新它或附加新指令,以便在同一台服务器上共存。

我只是用

进行部署

deploy.rb

set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"
...
after "deploy:create_symlink", "deploy:update_crontab"
....

有人可以教我怎么办?

2 个答案:

答案 0 :(得分:3)

您需要为项目命名空间,否则在部署时它们会相互覆盖:

set :whenever_environment, defer { stage }
set :whenever_identifier, defer { "#{application}_#{stage}" }
require "whenever/capistrano"

答案 1 :(得分:0)

使用capistrano V3,在部署文件中:

set :whenever_identifier, ->{ "#{fetch(:application)}_namespace" }