Ruby on rails 3 如何使用rubber gem在EC2上设置queue_经典后台作业

Ruby on rails 3 如何使用rubber gem在EC2上设置queue_经典后台作业,ruby-on-rails-3,amazon-ec2,Ruby On Rails 3,Amazon Ec2,如何使用rubergem在EC2上设置queue\u classic后台作业? 我尝试使用foreman导出,但我不确定在哪里运行它(应用程序还是web角色?)。 我失败的尝试正在使用 我应该创建一个新实例来运行这些作业吗?(还是一个新角色?) 谢谢你的帮助 找到了答案 首先使用queue_classic rake任务创建一个Procfile(请参阅) 然后我将foreman添加到我的主机(确保您有一个用于该环境的procfile,例如:procfile.production) 我明白了 首先使

如何使用
ruber
gem在EC2上设置
queue\u classic
后台作业? 我尝试使用foreman导出,但我不确定在哪里运行它(应用程序还是web角色?)。 我失败的尝试正在使用

我应该创建一个新实例来运行这些作业吗?(还是一个新角色?)

谢谢你的帮助

找到了答案

首先使用queue_classic rake任务创建一个Procfile(请参阅)

然后我将foreman添加到我的主机(确保您有一个用于该环境的procfile,例如:procfile.production)

我明白了

首先使用queue_classic rake任务创建一个Procfile(请参阅)

然后我将foreman添加到我的主机(确保您有一个用于该环境的procfile,例如:procfile.production)

# Foreman tasks
namespace :foreman do
  desc 'Export the Procfile to Ubuntu upstart scripts'
  task :export, :roles => :queue do

    run "cd #{release_path} && bundle exec foreman export upstart /etc/init -f ./Procfile.#{Rubber.env} -a #{application} -u #{user} -l #{release_path}/log/foreman"
  end

  desc "Start the application services"
  task :start, :roles => :queue do

    rsudo "start #{application}"
  end

  desc "Stop the application services"

  task :stop, :roles => :queue do
    rsudo "stop #{application}"

  end

  desc "Restart the application services"
  task :restart, :roles => :queue do
    rsudo "stop #{application}; start #{application}"
    #run "sudo start #{application} || sudo restart #{application}"
  end
end
after "deploy:update", "foreman:export"    # Export foreman scripts
before "deploy:restart", "foreman:restart"   # Restart application scripts
after "deploy:stop", "foreman:stop"   # Restart application scripts