私は現在、AWS s3アカウントにファイルをアップロードするにはCarrierwave
という宝石を使用しています。しかし、大きなファイルをアップロードしているので、サーバーのタイムアウトとユーザーの待ち時間が心配です。 これをバックグラウンドジョブに移行するための提案はありますか?私はsidekiq
を見ましたが、どこから始めたらいいか分かりません。私がそれを実装しようとすると、do34はアップロードされるように見えますが、それはRails
で成功します。レールウェイを使ってファイルをバックグラウンドでアップロードするには?
0
A
答えて
1
Carrierwave Directは、レールサーバーを完全にバイパスするために最も良い方法です。あなたは、あなたがバックグラウンドで
をお使いのファイルのアップロードをキュー助けるために宝石carrierwave_backgrounder
があります(私はSidekiqをお勧めしますが、あなたが望むものは何でも使用。)バックグラウンドタスクとして
0
を実際の処理を行い、あなたのGemfile
にgem carrierwave_backgrounder
を追加することができますし、同梱
バックグラウンドプロセッサを構成するためにイニシャライザファイルconfig/initializers/carrierwave_backgrounder.rb
を追加してください。このような何かあなたが使用している場合sidekiq
CarrierWave::Backgrounder.configure do |c|
c.backend :sidekiq, queue: :carrierwave
end
はその後、あなたがバックグラウンドジョブに使用しているものをお使いcarrierwaveアップローダー
class User < ActiveRecord::Base
mount_uploader :avatar, AvatarUploader
process_in_background :avatar
end
+0
これを試しましたが、 'sidekiq'はジョブを処理しません。代わりに、それは正常にアップロードするだけです...私は 'redis'と' sidekiq'を実行しています。 @ sa77 – Corey
関連する問題
- 1. JavaScriptを使ってバックグラウンドでファイルを動的にアップロードする
- 2. CodeIgniter 3.0でAJAXを使ってファイルをアップロードするには?
- 3. ScalajsでAjaxを使ってファイルをアップロードするには
- 4. FormDataを使ってファイルをアップロードする
- 5. djangoを使ってファイルをアップロードする
- 6. Restasedを使ってファイルをアップロードする
- 7. Angular2を使ってファイルをアップロードする
- 8. urllib2を使ってファイルをアップロードする
- 9. Wicketを使ってファイルをアップロードする
- 10. AJAXを使ってファイルをアップロードする
- 11. DjangoとPythonを使ってパス名を使ってファイルをアップロードするには?
- 12. エクスポートしてから、ajaxを使ってExcelファイルをバックグラウンドでダウンロードするには
- 13. コマンドを使ってgithubリポジトリにファイルをアップロードするには?
- 14. Javaを使ってmongodbにjsonファイルをアップロードするには?
- 15. React.jsとNode.jsを使ってファイルをローカルフォルダにアップロードするには?
- 16. AngularFireを使ってFirebase Storageにファイルをアップロードするには?
- 17. RestSharpを使ってNexusにファイルをアップロードするには?
- 18. vb.netを使ってMSのドライブにファイルをアップロードするには?
- 19. Node.jsにmulterを使ってファイルをアップロードするには?
- 20. Jmeterを使ってフロントエンドにファイルをアップロードするには?
- 21. botoを使ってs3にzipファイルをアップロードするには?
- 22. ajaxを使ってファイルをアップロードするには
- 23. python + seleniumを使ってファイルをアップロードするには?
- 24. ZendFramework - zend_http_clientを使って複数のファイルをアップロードするには?
- 25. NodeJsとKafkaを使ってファイルをアップロードするには?
- 26. rsolrを使ってファイルをアップロードするには?
- 27. koa2を使ってアップロードしたファイルを取得するには?
- 28. codenameoneを使ってファイルをアップロードするには?
- 29. PHPフォームを使ってクライアントサイドからファイルをアップロードするには?
- 30. Junit Seleniumを使ってファイルをアップロードするには?
と一緒にあなたのモデルにそれを使うのか?サイドキック? – sa77
はい、 'sidekiq'と' carrierwave_backgrounder'です。 – Corey