httpimagestore 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/bin/httpimagestore +5 -1
- data/httpimagestore.gemspec +1 -1
- data/lib/httpimagestore/s3_service.rb +5 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/bin/httpimagestore
CHANGED
@@ -13,6 +13,8 @@ options = CLI.new do
|
|
13
13
|
option :bind, :short => :b, :default => IP.new('127.0.0.1'), :cast => IP, :description => "HTTP server bind address - use 0.0.0.0 to bind to all interfaces"
|
14
14
|
option :port, :short => :p, :default => 3000, :cast => Integer, :description => "HTTP server TCP port"
|
15
15
|
option :server, :short => :s, :default => 'mongrel', :description => "Rack server handler like thin, mongrel, webrick, fastcgi etc."
|
16
|
+
option :upload_retry_times, :default => 1, :cast => Integer, :description => "Number of times file upload will be retried in case of an error"
|
17
|
+
option :upload_retry_delay, :default => 0.0, :cast => Float, :description => "Time to sleep between retries"
|
16
18
|
argument :config, :cast => Pathname, :description => "Configuration file path"
|
17
19
|
end.parse!
|
18
20
|
|
@@ -40,6 +42,8 @@ sinatra.set :lock, true
|
|
40
42
|
sinatra.set :logging, (not options.no_logging)
|
41
43
|
sinatra.set :debug, options.debug
|
42
44
|
sinatra.set :uri_encode, (not options.no_uri_encode)
|
45
|
+
sinatra.set :upload_retry_times, options.upload_retry_times
|
46
|
+
sinatra.set :upload_retry_delay, options.upload_retry_delay
|
43
47
|
|
44
48
|
Configuration.from_file(options.config).put(sinatra)
|
45
49
|
|
@@ -55,7 +59,7 @@ end
|
|
55
59
|
sinatra.before do
|
56
60
|
logger.level = Logger::DEBUG if settings.logging and settings.debug
|
57
61
|
# singletons
|
58
|
-
$s3 ||= S3Service.new(settings.s3_key_id, settings.s3_key_secret, settings.s3_bucket, :logger => logger)
|
62
|
+
$s3 ||= S3Service.new(settings.s3_key_id, settings.s3_key_secret, settings.s3_bucket, :logger => logger, :upload_retry_times => settings.upload_retry_times, :upload_retry_delay => settings.upload_retry_delay)
|
59
63
|
$thumbnailer ||= HTTPThumbnailerClient.new(settings.thumbnailer_url)
|
60
64
|
end
|
61
65
|
|
data/httpimagestore.gemspec
CHANGED
@@ -19,7 +19,11 @@ class S3Service
|
|
19
19
|
file.content_type = content_type
|
20
20
|
file.content = data
|
21
21
|
|
22
|
-
RetryThis.retry_this(
|
22
|
+
RetryThis.retry_this(
|
23
|
+
:times => (@options[:upload_retry_times] or 1),
|
24
|
+
:sleep => (@options[:upload_retry_delay] or 0.0),
|
25
|
+
:error_types => [Errno::ECONNRESET, S3::Error::RequestTimeout]
|
26
|
+
) do |attempt|
|
23
27
|
@logger.warn "Retrying S3 save operation" if attempt > 1
|
24
28
|
file.save
|
25
29
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: httpimagestore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jakub Pastuszek
|