簡體   English   中英

創建記錄的Rails后台作業?

[英]Rails Background Job for Creating Records?

目前在帶有Resque的Rails 4上。

我的問題是 ,使用后台作業創建記錄是否有意義? 就像是...

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

我可以找到的唯一與此有關的其他文檔說,這樣做沒有任何意義,但是並沒有解釋原因。

閱讀Heroku文檔后,他們建議將耗時500毫秒以上的所有請求移到后台。 在我的網站上創建文章也不例外,因為它可能需要1000毫秒以上的時間。 如果不是后台工作,我應該如何設計呢? 謝謝!

以我的愚見,我不會將后台作業用於用戶期望得到響應的任何內容。 我認為這會打擾請求/響應周期。 例如,在您的情況下,用戶期望對創建其文章的請求做出響應。 但是,只要不是強制性的響應,就可以在后台作業中創建記錄。 例如,我確實有后台作業用於創建用戶未請求但用於用戶操作分析的其他記錄。 現在,創建文章大約需要500毫秒到1000毫秒的問題。 后台作業實際上沒有真正解決是一個性能問題。 我不知道您的應用程序的詳細信息是什么,但是您可能希望研究緩存數據庫(例如,使用redis)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM