새로운 자원이 생성하고 현재 요청 등을 보유하지 곳은 일부 긴 처리을 할 필요가 자원이 준비되기 전에, 어떻게 멀리 배경에 그 처리를 보내려면 어떻게합니까 때 내 웹 앱에 대한 트래픽? 내 모델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는 처리량이 많은 대기열에 가장 적합한 Sidekiq이며 delayed_job은 처리량이 낮을 때 가장 좋습니다. –
"IronWorkser"(http://www.iron.io)는 백그라운드 처리를 "서비스"로하고 서버 나 대기열에 대해 걱정할 필요가 없도록합니다. IronMQ/IronWorker는 자동 재시도, 작업 로그, 웹 훅 (webhook) 등을 제공합니다. Rails와 잘 통합됩니다. 다음은 몇 가지 동영상입니다. https://www.youtube.com/user/ironiodevelopers – Chad