simple_job 0.12.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.rdoc +3 -0
- data/lib/simple_job/sqs_job_queue.rb +19 -14
- data/lib/simple_job/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c0ac22cadc2b8b7c0544f2bc924e6138f48e3de
|
4
|
+
data.tar.gz: b81dc251dfd39a7c197cae41c76c0fae6bdd5912
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d4689fc521101f7e25b875a838c9182adc37d9119e5f0cd1b48f672b26f35a316ed610cad5864a80e2f6d548421a7d68e9e907b770c73aff96d33b540a4ff54
|
7
|
+
data.tar.gz: 0b8cdd8803a6c3f4b92e3a723488d25d2c1fbf226770b99ee63535d87795fc82e66b01f1c56d093c6b76dad8a342b1877f00c50f557346d1fc2c1defc82850e8
|
data/CHANGELOG.rdoc
CHANGED
@@ -172,24 +172,29 @@ class SQSJobQueue < JobQueue
|
|
172
172
|
begin
|
173
173
|
sqs_queue.receive_messages(options) do |message|
|
174
174
|
message_body = get_message_body(message)
|
175
|
-
last_message = message
|
176
|
-
last_message_at = Time.now
|
177
175
|
raw_message = JSON.parse(message_body)
|
178
|
-
current_job_type = raw_message['type']
|
179
|
-
definition_class = JobDefinition.job_definition_class_for(raw_message['type'], raw_message['version'])
|
180
176
|
|
181
|
-
|
177
|
+
if raw_message['type'] && raw_message['version']
|
178
|
+
last_message = message
|
179
|
+
last_message_at = Time.now
|
180
|
+
current_job_type = raw_message['type']
|
181
|
+
definition_class = JobDefinition.job_definition_class_for(raw_message['type'], raw_message['version'])
|
182
182
|
|
183
|
-
|
184
|
-
|
185
|
-
|
183
|
+
raise('no definition found') if !definition_class
|
184
|
+
|
185
|
+
if definition_class.max_attempt_count && (message.receive_count > definition_class.max_attempt_count)
|
186
|
+
raise('max attempt count reached')
|
187
|
+
end
|
186
188
|
|
187
|
-
|
188
|
-
|
189
|
+
definition = definition_class.new.from_json(message_body)
|
190
|
+
last_definition = definition
|
189
191
|
|
190
|
-
|
191
|
-
|
192
|
-
|
192
|
+
# NOTE: only executes if asynchronous_execute is false (message will be re-enqueued after
|
193
|
+
# vis. timeout if this fails or runs too long)
|
194
|
+
message_handler.call(definition, message) unless asynchronous_execute
|
195
|
+
else
|
196
|
+
logger.info("ignoring invalid message: #{message_body}")
|
197
|
+
end
|
193
198
|
end
|
194
199
|
|
195
200
|
# NOTE: only executes if asynchronous_execute is set (after message has been confirmed)
|
@@ -378,7 +383,7 @@ class SQSJobQueue < JobQueue
|
|
378
383
|
result = message_hash[accept_nested_definition]
|
379
384
|
end
|
380
385
|
|
381
|
-
result
|
386
|
+
result || '{}'
|
382
387
|
end
|
383
388
|
|
384
389
|
end
|
data/lib/simple_job/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Dawson
|
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
105
105
|
version: '0'
|
106
106
|
requirements: []
|
107
107
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.
|
108
|
+
rubygems_version: 2.2.2
|
109
109
|
signing_key:
|
110
110
|
specification_version: 4
|
111
111
|
summary: Support classes and modules for executable jobs.
|