Korzystając z carrierwave dla naszych uploaderów, otrzymujemy kilka błędów Excon każdego tygodnia z naszej aplikacji produkcyjnej. Na przykład:Szyny: sporadyczne błędy 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>
Zaczęliśmy owijania proces przesyłania w bloku ponawiania i zawsze wydaje się działać prawidłowo po kolei próbować, ale zastanawiam się, czy istnieje lepsze rozwiązanie, gdyż staje się nieporęczny po chwila. Wydaje mi się, że te błędy powinny być traktowane na niższym poziomie. Czy istnieje lepszy sposób na rozwiązanie tych problemów?
Oto nasza konfiguracja produkcja:
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
I używamy wersji GEM:
fog (1.27.0)
carrierwave (0.10.0)
excon (0.43.0)
Udało ci się to naprawić? – RuiMochila
Po przełączeniu się na 'carrierwave-aws' nie widzieliśmy już tego problemu. – lobati