6

アップローダに Carrierwave を使用すると、実稼働アプリから毎週いくつかの Excon エラーが発生します。例えば:

Excon::Errors::BadRequest: Expected(200) <=> Actual(400 Bad Request) excon.error.response :body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>IncompleteBody</Code><Message>The request body terminated unexpectedly</Message>

アップロード プロセスを再試行ブロックにラップすることを開始しましたが、何度も試行した後は常に正常に動作しているように見えますが、しばらくすると扱いにくくなるため、より良い解決策があるかどうか疑問に思っています。これらのエラーは、より低いレベルで処理する必要があるように思えます。これらの問題を処理するより良い方法はありますか?

プロダクション構成は次のとおりです。

config.storage = :fog
config.root = Dir.tmpdir
config.cache_dir = 'carrierwave'
config.fog_credentials = {
  provider: 'AWS',
  aws_access_key_id: ENV['AWS_ACCESS_KEY_ID'],
  aws_secret_access_key: ENV['AWS_ACCESS_KEY'],
}

config.fog_directory = ENV['AWS_S3_BUCKET']
config.fog_public = false
config.fog_authenticated_url_expiration = 7.days.to_i

config.enable_processing = true

そして、gem バージョンを使用しています。

fog (1.27.0)
carrierwave (0.10.0)
excon (0.43.0)
4

1 に答える 1