新しいリソースが作成され、それが現在の要求または他のを保持しない場所それはいくつかの長い処理を行う必要があるリソースの準備が整う前に、どのように私は離れて背景にその処理をお送りくださいされている場合私のウェブアプリケーションへのトラフィック?私のモデルでRuby on Rails:バックグラウンドでの実行方法
:
class User < ActiveRecord::Base
after_save :background_check
protected
def background_check
# check through a list of 10000000000001 mil different
# databases that takes approx one hour :)
if(check_for_record_in_www(self.username))
# code that is run after the 1 hour process is finished.
user.update_attribute(:has_record)
end
end
end
これらの日、最もよく使用される/最高のサポートされているオプションは、[sidekiq](https://github.com/mperham/sidekiq)されている、[resque ](https://github.com/defunkt/resque)、[delayed_job](https://github.com/collectiveidea/delayed_job)を参照してください。 IMHO、Sidekiqはハイスループットのキューには最適ですが、delayed_jobはスループットが非常に低い場合に最適です。 –
バックグラウンド処理を「サービスとして」行い、サーバーやキューイングの考え方を心配する必要がない場合は、[IronWorker](http://www.iron.io)を選択することもできます。 IronMQ/IronWorkerは、自動再試行、タスクログ、ウェブフックなども提供しています。これはRailsとうまく統合されています。いくつかの動画は次のとおりです:https://www.youtube.com/user/ironiodevelopers – Chad