1

gemqueue_classicを使用してEC2でバックグラウンドジョブを設定するにはどうすればよいですか?rubberフォアマンエクスポートを使用してみましたが、どこで実行するかわかりません(アプリまたはWebの役割?)。私の失敗した試みはhttp://blog.sosedoff.com/2011/07/24/foreman-capistrano-for-rails-3-applications/を使用しています。

これらのジョブを実行するために新しいインスタンスを作成する必要がありますか?(または新しい役割?)

助けてくれてありがとう!

4

1 に答える 1

1

理解した。

まず、queue_classic rakeタスクを使用してProcfileを作成します(http://blog.daviddollar.org/2011/05/06/introducing-foreman.htmlを参照) 。

次に、フォアマンをホストに追加しました(その環境用の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
于 2012-05-23T17:36:06.930 に答える