0

現在Resque付きのRails 4です。レコードを作成するためのRailsバックグラウンドジョブ?

私の質問はです。レコードを作成するためにバックグラウンドジョブを使用するのは理にかなっていますか?何かのような...私はこの問題に見つけることができます

def create 
    @article = Article.new(articles_params) 
    if @article.valid? 
     background_job_here 
    else 
     render 'new' 
    end 
end 

のみその他のドキュメントは、しかし、理由を説明しない、それがこれを行うには意味がないと言います。

Herokuのドキュメントを読むと、500ミリ秒以上かかるリクエストはすべてバックグラウンドに移行することを提案しています。私のサイトで記事を作成することも例外ではありません.1000ミリ秒以上かかることがあります。バックグラウンドジョブではない場合は、どうすればいいでしょうか?どうも!

答えて

1

私の謙虚な意見では、ユーザーが応答を期待しているものはバックグラウンドジョブを使用しません。私はこれがリクエスト/レスポンスの周期を乱すと思います。たとえば、あなたの場合、ユーザーは自分の記事を作成する要求に対する応答を期待しています。 しかし、バックグラウンドジョブでレコードを作成することは、レスポンスに必須でない限り、完全にうまくいきます。たとえば、ユーザーが要求していない他のレコードを作成するためのバックグラウンドジョブがありますが、ユーザーアクションの分析に使用されます。 記事を作成するのに500msから1000msかかることは間違いありません。バックグラウンドジョブが本当にとにかく対処していないのはパフォーマンス上の問題です。私はあなたのアプリケーションの詳細は何か分かりませんが、あなたのデータベースをキャッシュする(例えば、redisで)ことができます。

関連する問題