quebert 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -58,6 +58,11 @@ module Quebert
58
58
  rescue Job::Timeout => e
59
59
  retry_with_delay
60
60
  raise e
61
+ rescue Job::Retry => e
62
+ # The difference between the Retry and Timeout class is that
63
+ # Retry does not log an exception where as Timeout does
64
+ log "Manually retrying with delay"
65
+ retry_with_delay
61
66
  rescue Exception => e
62
67
  beanstalk_job.bury
63
68
  log "Exception caught on perform. Job buried. #{e.inspect}", :error
data/lib/quebert/job.rb CHANGED
@@ -14,7 +14,7 @@ module Quebert
14
14
  # A buffer time in seconds added to the Beanstalk TTR for Quebert to do its own job cleanup
15
15
  # The job will perform based on the Beanstalk TTR, but Beanstalk hangs on to the job just a
16
16
  # little longer so that Quebert can bury the job or schedule a retry with the appropriate delay
17
- QUEBERT_TTR_BUFFER = 1
17
+ QUEBERT_TTR_BUFFER = 5
18
18
 
19
19
  NotImplemented = Class.new(StandardError)
20
20
 
@@ -24,6 +24,7 @@ module Quebert
24
24
  Delete = Class.new(Action)
25
25
  Release = Class.new(Action)
26
26
  Timeout = Class.new(Action)
27
+ Retry = Class.new(Action)
27
28
 
28
29
  def initialize(*args)
29
30
  opts = args.last.is_a?(::Hash) ? args.pop : nil
@@ -1,3 +1,3 @@
1
1
  module Quebert
2
- VERSION = "1.0.4"
2
+ VERSION = "1.0.5"
3
3
  end
metadata CHANGED
@@ -1,74 +1,78 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: quebert
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.4
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 5
10
+ version: 1.0.5
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Brad Gessler
9
14
  - Steel Fu
10
15
  - Jeff Vyduna
11
16
  autorequire:
12
17
  bindir: bin
13
18
  cert_chain: []
14
- date: 2012-04-28 00:00:00.000000000 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2012-05-31 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
17
23
  name: json
18
- requirement: !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
21
- - - ! '>='
22
- - !ruby/object:Gem::Version
23
- version: '0'
24
- type: :runtime
25
24
  prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
25
+ requirement: &id001 !ruby/object:Gem::Requirement
27
26
  none: false
28
- requirements:
29
- - - ! '>='
30
- - !ruby/object:Gem::Version
31
- version: '0'
32
- - !ruby/object:Gem::Dependency
33
- name: beanstalk-client
34
- requirement: !ruby/object:Gem::Requirement
35
- none: false
36
- requirements:
37
- - - ! '>='
38
- - !ruby/object:Gem::Version
39
- version: '0'
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
40
34
  type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: beanstalk-client
41
38
  prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
43
40
  none: false
44
- requirements:
45
- - - ! '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- - !ruby/object:Gem::Dependency
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
49
51
  name: rspec
50
- requirement: !ruby/object:Gem::Requirement
51
- none: false
52
- requirements:
53
- - - '='
54
- - !ruby/object:Gem::Version
55
- version: 2.7.0
56
- type: :development
57
52
  prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
53
+ requirement: &id003 !ruby/object:Gem::Requirement
59
54
  none: false
60
- requirements:
61
- - - '='
62
- - !ruby/object:Gem::Version
55
+ requirements:
56
+ - - "="
57
+ - !ruby/object:Gem::Version
58
+ hash: 19
59
+ segments:
60
+ - 2
61
+ - 7
62
+ - 0
63
63
  version: 2.7.0
64
+ type: :development
65
+ version_requirements: *id003
64
66
  description: A worker queue framework built around beanstalkd
65
- email:
67
+ email:
66
68
  - brad@bradgessler.com
67
- executables:
69
+ executables:
68
70
  - quebert
69
71
  extensions: []
72
+
70
73
  extra_rdoc_files: []
71
- files:
74
+
75
+ files:
72
76
  - .document
73
77
  - .gitignore
74
78
  - .rbenv-version
@@ -119,29 +123,38 @@ files:
119
123
  - spec/worker_spec.rb
120
124
  homepage: http://github.com/polleverywhere/quebert
121
125
  licenses: []
126
+
122
127
  post_install_message:
123
128
  rdoc_options: []
124
- require_paths:
129
+
130
+ require_paths:
125
131
  - lib
126
- required_ruby_version: !ruby/object:Gem::Requirement
132
+ required_ruby_version: !ruby/object:Gem::Requirement
127
133
  none: false
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- required_rubygems_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ hash: 3
138
+ segments:
139
+ - 0
140
+ version: "0"
141
+ required_rubygems_version: !ruby/object:Gem::Requirement
133
142
  none: false
134
- requirements:
135
- - - ! '>='
136
- - !ruby/object:Gem::Version
137
- version: '0'
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ hash: 3
147
+ segments:
148
+ - 0
149
+ version: "0"
138
150
  requirements: []
151
+
139
152
  rubyforge_project: quebert
140
- rubygems_version: 1.8.24
153
+ rubygems_version: 1.8.22
141
154
  signing_key:
142
155
  specification_version: 3
143
156
  summary: A worker queue framework built around beanstalkd
144
- test_files:
157
+ test_files:
145
158
  - spec/async_sender_spec.rb
146
159
  - spec/backend_spec.rb
147
160
  - spec/command_line_runner_spec.rb