surety 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +3 -3
- data/README.md +10 -9
- data/surety.gemspec +3 -3
- metadata +12 -10
data/Gemfile.lock
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
surety (0.1.
|
4
|
+
surety (0.1.11)
|
5
5
|
activerecord (>= 3.0)
|
6
6
|
activesupport (>= 3.0)
|
7
7
|
resque (>= 1.19.0)
|
8
8
|
state_machine (>= 1.0.0)
|
9
|
-
yajl-ruby (~>
|
9
|
+
yajl-ruby (~> 1.1.0)
|
10
10
|
|
11
11
|
GEM
|
12
12
|
remote: http://rubygems.org/
|
@@ -46,7 +46,7 @@ GEM
|
|
46
46
|
tzinfo (0.3.31)
|
47
47
|
vegas (0.1.8)
|
48
48
|
rack (>= 1.0.0)
|
49
|
-
yajl-ruby (
|
49
|
+
yajl-ruby (1.1.0)
|
50
50
|
|
51
51
|
PLATFORMS
|
52
52
|
ruby
|
data/README.md
CHANGED
@@ -27,7 +27,7 @@ A simple class that can send a message for guaranteed delivery:
|
|
27
27
|
|
28
28
|
On the server side, to start up the loop to process messages:
|
29
29
|
|
30
|
-
|
30
|
+
Surety::Processor.request_next
|
31
31
|
|
32
32
|
|
33
33
|
Configuration
|
@@ -36,17 +36,18 @@ Configuration
|
|
36
36
|
Both the prefix for the ActiveRecord database connection name (as specified in database.yml) and the class to which Surety delegates messages for processing after pulling them off the queue are configurable.
|
37
37
|
|
38
38
|
Also configurable are three parameters related to failure retries:
|
39
|
-
|
40
|
-
|
41
|
-
|
39
|
+
|
40
|
+
* retry interval: base amount of time to wait before a retry, in minutes. Defaults to 10.
|
41
|
+
* backoff factor: factor to divide the failure count by before calculating an exponential backoff. The backoff factor is (2^floor(failure count/backoff interval)). Defaults to 2.
|
42
|
+
* max backoff: maximum number of powers of 2 to backoff. Defaults to 7 (which gives a backoff factor of 128; together with the default retry interval of 10, this produces a default max backoff amount of 1280 minutes ~ 1 day).
|
42
43
|
|
43
44
|
Example configuration (from a sample config/initializers/surety.rb file)
|
44
45
|
|
45
|
-
Surety::Configuration.database_prefix = 'surety_'
|
46
|
-
Surety::Configuration.message_processing_delegate = MessageDistributor
|
47
|
-
Surety::Configuration.retry_interval = 20
|
48
|
-
Surety::Configuration.backoff_factor = 4
|
49
|
-
Surety::Configuration.max_backoff = 5
|
46
|
+
Surety::Configuration.database_prefix = 'surety_'
|
47
|
+
Surety::Configuration.message_processing_delegate = MessageDistributor
|
48
|
+
Surety::Configuration.retry_interval = 20
|
49
|
+
Surety::Configuration.backoff_factor = 4
|
50
|
+
Surety::Configuration.max_backoff = 5
|
50
51
|
|
51
52
|
|
52
53
|
Install
|
data/surety.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'surety'
|
3
|
-
s.version = '0.1.
|
3
|
+
s.version = '0.1.11'
|
4
4
|
s.date = Time.now.strftime('%Y-%m-%d')
|
5
5
|
s.summary = 'A lightweight guaranteed-delivery messaging system.'
|
6
6
|
s.homepage = ''
|
7
|
-
s.email = '
|
7
|
+
s.email = 'mechaferret@gmail.com'
|
8
8
|
s.authors = ['Monica McArthur']
|
9
9
|
|
10
10
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
13
13
|
s.require_paths = ['lib']
|
14
14
|
|
15
|
-
s.add_dependency('yajl-ruby', '~>
|
15
|
+
s.add_dependency('yajl-ruby', '~> 1.1.0')
|
16
16
|
s.add_dependency('resque', '>= 1.19.0')
|
17
17
|
s.add_dependency('activesupport', '>= 3.0')
|
18
18
|
s.add_dependency('activerecord', '>= 3.0')
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: surety
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 11
|
10
|
+
version: 0.1.11
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Monica McArthur
|
@@ -15,7 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-06-25 00:00:00 -07:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: yajl-ruby
|
@@ -25,12 +26,12 @@ dependencies:
|
|
25
26
|
requirements:
|
26
27
|
- - ~>
|
27
28
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
29
|
+
hash: 19
|
29
30
|
segments:
|
31
|
+
- 1
|
32
|
+
- 1
|
30
33
|
- 0
|
31
|
-
|
32
|
-
- 2
|
33
|
-
version: 0.8.2
|
34
|
+
version: 1.1.0
|
34
35
|
type: :runtime
|
35
36
|
version_requirements: *id001
|
36
37
|
- !ruby/object:Gem::Dependency
|
@@ -112,7 +113,7 @@ dependencies:
|
|
112
113
|
type: :development
|
113
114
|
version_requirements: *id006
|
114
115
|
description: " A lightweight guaranteed-delivery messaging system.\n"
|
115
|
-
email:
|
116
|
+
email: mechaferret@gmail.com
|
116
117
|
executables: []
|
117
118
|
|
118
119
|
extensions: []
|
@@ -145,6 +146,7 @@ files:
|
|
145
146
|
- test/redis-test.conf
|
146
147
|
- test/schema.rb
|
147
148
|
- test/test_helper.rb
|
149
|
+
has_rdoc: true
|
148
150
|
homepage: ""
|
149
151
|
licenses: []
|
150
152
|
|
@@ -174,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
176
|
requirements: []
|
175
177
|
|
176
178
|
rubyforge_project:
|
177
|
-
rubygems_version: 1.
|
179
|
+
rubygems_version: 1.4.2
|
178
180
|
signing_key:
|
179
181
|
specification_version: 3
|
180
182
|
summary: A lightweight guaranteed-delivery messaging system.
|