fanforce-worker 0.14.2 → 0.14.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/fanforce/worker/version.rb +1 -1
- data/lib/fanforce/worker/worker.rb +10 -10
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjgyZmQ5Y2MzY2M5ODk1ZDQ3YzQ3ODJhMzAzZjhmOGYzNjExZDIyOA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NjFkZmQ5ZjFhNzI2YmE5NzUzZGJlYzM3YjE5YTk4Y2FmMzMzNmRlMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
M2M3OTliYjg1NThhOWFlMmNlMjVhNzk4MzA0ODA0MWNhZjQwOGI2Nzk5YWFl
|
10
|
+
MzdlYjZiYmNjNmZjNTQ4ZmM4YzlmMTc1ZTRiZjliNmYzNjAxZTcwYWY2MmE0
|
11
|
+
MDcxMDVkMTAwZDU4NmYxZDQ3Zjc3ZTU4NDZiNWQ3MWQ1YTBjNTI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTgxMDM2NWQ2NjcwZTE5ZTdlMjc3NTgzNTY2MzZjYjQyOTYzNjM5ODk2N2E1
|
14
|
+
ODM2OWVjNTYzZTY5M2YzMTdjZWVkMmU5YzgxNDQ1ZThmNTY3MWNjMjU1Y2Jj
|
15
|
+
ZTA1NzQ3NjUxOTEzMTM0NDI1YTc1ZWU5N2JmYmRlNDBlNWIwZTc=
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class Fanforce::Worker
|
2
2
|
|
3
|
-
|
3
|
+
LOADED_AT = Time.now
|
4
4
|
MAX_EXECUTION_TIME = 3300
|
5
5
|
|
6
6
|
def initialize(opts={})
|
@@ -161,9 +161,9 @@ class Fanforce::Worker
|
|
161
161
|
puts 'PROCESSING...'
|
162
162
|
job_num = 0
|
163
163
|
job_data = nil
|
164
|
-
while
|
164
|
+
while job_has_enough_time_to_run(min_execution_time) and (job = queue.get(timeout: 3600)) do
|
165
165
|
puts "- JOB #{job_num+=1}: #{job.body}"
|
166
|
-
timeout(
|
166
|
+
timeout(worker_time_remaining) do
|
167
167
|
job_data = nil
|
168
168
|
job_data = Fanforce.decode_json(job.body)
|
169
169
|
run_job(job, job_data, &code_block)
|
@@ -178,15 +178,15 @@ class Fanforce::Worker
|
|
178
178
|
handle_job_loading_error(e, job, job_data)
|
179
179
|
end
|
180
180
|
|
181
|
-
def
|
182
|
-
|
183
|
-
MAX_EXECUTION_TIME -
|
181
|
+
def self.worker_time_remaining
|
182
|
+
time_since_load = Time.now - LOADED_AT
|
183
|
+
MAX_EXECUTION_TIME - time_since_load
|
184
184
|
end
|
185
185
|
|
186
|
-
def
|
187
|
-
|
188
|
-
return false if
|
189
|
-
return false if
|
186
|
+
def self.job_has_enough_time_to_run(min_execution_time)
|
187
|
+
time_since_load = Time.now - LOADED_AT
|
188
|
+
return false if time_since_load < MAX_EXECUTION_TIME
|
189
|
+
return false if worker_time_remaining < min_execution_time
|
190
190
|
return true
|
191
191
|
end
|
192
192
|
|