simple_job 0.7.1 → 0.8.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 98bbe530c37cd630a68483d0f4c2033acb5a2833
4
- data.tar.gz: 0ab40e24e4a2adc96fdd9841deb0b2d66445f012
3
+ metadata.gz: 42bf312c7ad0520218b5ca49f75ec647d62605e3
4
+ data.tar.gz: 644c7c33bc2a9c51c1670b257062a439f506f210
5
5
  SHA512:
6
- metadata.gz: 418d86fce0947a602c20e7eaa35ba6859b33ab742d0f9753d2307fd786c5ade29d510bd6df0e1880610902e4215231af0a3d32aedc9405b6f22fbce82ff599fa
7
- data.tar.gz: 207cb4d34ac1a4a008c5f15f05d577e192d8d993630c27ef2a799616c6e6ea8a483e3ecac026cc68a234c71e0488e5806d056e3651f0bb28d49f89b975f6910f
6
+ metadata.gz: ace7df9576e169247a7815b82db6f1dc98a90de0c37773fd7701c65b6dc28c572d2f9243d18dd8380c075a254ab1824a8e9f51ccaa30141c3d2ac81f8cd4b681
7
+ data.tar.gz: fed5ce2006b0e2814ce6f20383e56e10d8e3adfbe280bb287a425f1a6f26ee3f8ebd011b2403f9cfb64b85955156f19755fd6e1e0b31d9bea5b7eacf398a1a68
@@ -1,5 +1,8 @@
1
1
  = Simple Job
2
2
 
3
+ == Version 0.8.0
4
+ * Added :always_sleep option to sleep between message processing even when there are available messages
5
+
3
6
  == Version 0.7.1
4
7
  * Fixing :idle_timeout (wasn't resetting timeout on new messages)
5
8
  * Fixing traps for ruby > 1.8 (new rubys add arguments to trap)
@@ -103,6 +103,10 @@ class SQSJobQueue < JobQueue
103
103
  # You may also pass a :max_executions option (as an integer), in which case
104
104
  # the poll method will poll that many times and then exit.
105
105
  #
106
+ # If poll_interval is set, polling will pause for poll_interval seconds when there are no
107
+ # available messages. If always_sleep is set to true, then polling will pause
108
+ # after every message is received, even if there are more available messages.
109
+ #
106
110
  # Note that this method will override any signal handlers for the HUP, INT,
107
111
  # or TERM signals during its execution, but the previous handlers will be
108
112
  # restored once the method returns.
@@ -113,7 +117,8 @@ class SQSJobQueue < JobQueue
113
117
  :raise_exceptions => false,
114
118
  :idle_timeout => nil,
115
119
  :poll_interval => DEFAULT_POLL_INTERVAL,
116
- :max_executions => nil
120
+ :max_executions => nil,
121
+ :always_sleep => false
117
122
  }.merge(options)
118
123
 
119
124
  message_handler = block || lambda do |definition, message|
@@ -191,7 +196,7 @@ class SQSJobQueue < JobQueue
191
196
 
192
197
  break if options[:idle_timeout] && ((Time.now - last_message_at) > options[:idle_timeout])
193
198
 
194
- unless last_message
199
+ if options[:always_sleep] || !last_message
195
200
  Kernel.sleep(options[:poll_interval]) unless options[:poll_interval] == 0
196
201
  end
197
202
  rescue SystemExit => e
@@ -1,3 +1,3 @@
1
1
  module SimpleJob
2
- VERSION = '0.7.1'
2
+ VERSION = '0.8.0'
3
3
  end
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.7.1
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Dawson