chore-core 1.8.1 → 1.8.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1a706f2f8f8eefe36f16cfaea8636f6fe13df8d
|
4
|
+
data.tar.gz: d4c0b0f97c85916e509ec609bd9a9e38cac6aac0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
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?
|
data/lib/chore/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|