Yeni kaynak yarattı ve onu akım isteği veya diğer yukarı tutamaz nerede bazı uzun işleme yapması gereken kaynak hazır olmadan önce, nasıl uzakta arka içine işlemeyi gönderebilirim zaman web uygulamamın trafiği Benim modelindeRuby on Rails: Arka planda işler nasıl yürütülür?
:
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
Bu günlerde, en çok kullanılan/iyi destekli seçeneklerdir [sidekiq] (https://github.com/mperham/sidekiq), [resque ] (https://github.com/defunkt/resque) ve [delayed_job] (https://github.com/collectiveidea/delayed_job). IMHO, Sidekiq yüksek verimli kuyruklar için en iyisidir ve delayed_job çok düşük verim için en iyisidir. –
Başka bir seçenek, "hizmet olarak" arka plan işlemeyi istiyorsanız ve sunucular veya sıraya alma fikri hakkında endişelenmenize gerek kalmaması için [IronWorker] (http://www.iron.io) 'dir. IronMQ/IronWorker ayrıca otomatik denemeler, görev kayıtları, web sayfaları, vb. Sunar. Rails ile güzel bir şekilde bütünleşir. İşte bazı videolar: https://www.youtube.com/user/ironiodevelopers – Chad