chore-core 1.8.1 → 1.8.2

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: e8debf965223bd61c1b247c0c275c3a4f758085f
4
- data.tar.gz: 51b646120ff568753112859186b6714a3846a819
3
+ metadata.gz: f1a706f2f8f8eefe36f16cfaea8636f6fe13df8d
4
+ data.tar.gz: d4c0b0f97c85916e509ec609bd9a9e38cac6aac0
5
5
  SHA512:
6
- metadata.gz: 6b2b1f4e194ea2704734b212255135f32c504937b4152e6bc490a25401861d34da64f38e0a8e2ca2f8c7b0be5a5f1a45dd8553fbcbcf7aa0a86028c569ac5b00
7
- data.tar.gz: 264df2f96cc45d6a83a48688b602c96ee4bb2df19ad23b3d2a26c2476276ee8545798ece8e94bda0edf1a6d338e35d10fe9718d72e1ca03ff3ecfe970cb0b85a
6
+ metadata.gz: c92dcbc42098e17b5e1d3ac05860ca1b74022725a2839964f6480bc8c3f080555e950757997ad9d3d4cdbd4b122e02e467614bb481a4108dfe65c5a74b797c6c
7
+ data.tar.gz: 95baf93fe723268b499447c24464443e3e7e19ed62d5718394c7dae66bcafb44a33f47133b3973827efd5856acc4fee2aab795adc33515c18068807f9e5039aa
@@ -24,10 +24,13 @@ module Chore
24
24
  if f.flock(File::LOCK_EX | File::LOCK_NB) && f.size == 0
25
25
  begin
26
26
  f.write(job.to_json)
27
+ rescue StandardError => e
28
+ Chore.logger.error "#{e.class.name}: #{e.message}. Could not write #{job[:class]} job to '#{queue_name}' queue file."
29
+ Chore.logger.error e.backtrace.join("\n")
27
30
  ensure
28
31
  f.flock(File::LOCK_UN)
29
- break
30
32
  end
33
+ break
31
34
  end
32
35
  end
33
36
  end
@@ -21,16 +21,27 @@ module Chore
21
21
  worker.stop! if worker
22
22
  end
23
23
 
24
- # Assigns work if there isn't already a worker in progress. Otherwise, is a noop
24
+ # Assigns work if there isn't already a worker in progress. In this, the
25
+ # single worker strategy, this should never be called if the worker is in
26
+ # progress.
25
27
  def assign(work)
26
28
  if workers_available?
27
- @worker = Worker.new(work, @options)
28
- @worker.start
29
- @worker = nil
30
- true
29
+ begin
30
+ @worker = worker_klass.new(work, @options)
31
+ @worker.start
32
+ true
33
+ ensure
34
+ @worker = nil
35
+ end
36
+ else
37
+ Chore.logger.error { "#{self.class}#assign: single worker is unavailable, but assign has been re-entered: #{caller * "\n"}" }
31
38
  end
32
39
  end
33
40
 
41
+ def worker_klass
42
+ Worker
43
+ end
44
+
34
45
  # Returns true if there is currently no worker
35
46
  def workers_available?
36
47
  @worker.nil?
@@ -2,7 +2,7 @@ module Chore
2
2
  module Version #:nodoc:
3
3
  MAJOR = 1
4
4
  MINOR = 8
5
- PATCH = 1
5
+ PATCH = 2
6
6
 
7
7
  STRING = [ MAJOR, MINOR, PATCH ].join('.')
8
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chore-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: 1.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tapjoy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-22 00:00:00.000000000 Z
11
+ date: 2016-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json