simple_job 0.7.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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