답변

1

정말 사용 사례에 따라 다릅니다. 트위터 자체는 API에 AJAX 요청을 보냅니다. 인터페이스에서 의미가있는 경우 동일한 작업을 수행 할 수 있지만 웹 프로세스를 사용하고 있음을 의미합니다. 이것에 대한 이점 중 하나는 사용자에게 resopnse를 반환하기 전에 요청이 성공했는지 확인할 수 있다는 것입니다. 백그라운드에서 대기열에 넣고 실패하고 사용자에게 경고하고 싶은 경우 (예 : "실시간"아약스/소켓 기반 메시지 시스템 또는 다른 요청에 대한 플래시 알림)보다 훨씬 쉽습니다.

짹짹 (예 : 응용 프로그램이 더 큰 작업의 일부로 보내는 경우)을 표시 할 필요가 없다면 백그라운드에서 수행하는 것이 분명히 좋습니다.

Resque는 훌륭하고 작업은 정말 가볍기 때문에 백그라운드에서 빠르게 처리 할 수 ​​있습니다.

# app/jobs/send_tweet.rb 
class SendTweet 
    @queue = :tweets 

    def self.perform(user_id, content) 
    user = User.find(user_id) 
    # send Tweet 
    end 
end 

# app/controllers/tweet_controller.rb 
def create 
    # assuming some things here, like validation and a `current_user` method 
    Resque.enqueue(SendTweet, current_user.id, params[:tweet][:message]) 
    redirect_to :index 
end 
관련 문제