little_monster 0.1.13 → 0.1.14
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b07797c5041cc3f6e14775d254e999ed5445aed9
|
4
|
+
data.tar.gz: 80ddf6bc1c80ab4feee8a81893ea62b2d723412e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff4b36accdd2a8f9fe3abc773baaaa16cace873133f7ddda15052eefdb55d070a30cd3165575b3706213fea1ada18ac8e76540f3298bed06e3dabda2146b3cc3
|
7
|
+
data.tar.gz: e0d8cc7041571eeaf909f804fb46e9904b4cb52c6ec242997e1f6da7df3915eece262613c8353f096a0dfc56f2b4d4738f3bf7795cd537901f97c1d1f69c52d3
|
data/Gemfile.lock
CHANGED
@@ -113,7 +113,14 @@ module LittleMonster::Core
|
|
113
113
|
|
114
114
|
def build_task(task_symbol)
|
115
115
|
task = @job.task_class_for(task_symbol).new(@job.data)
|
116
|
-
task.send(:set_default_values,
|
116
|
+
task.send(:set_default_values,
|
117
|
+
data: @job.data,
|
118
|
+
job_id: @job.id,
|
119
|
+
job_logger: logger,
|
120
|
+
cancelled_callback: @job.method(:is_cancelled?),
|
121
|
+
retries: @job.retries,
|
122
|
+
max_retries: @job.max_retries,
|
123
|
+
retry_callback: @job.method(:retry?))
|
117
124
|
task
|
118
125
|
end
|
119
126
|
|
@@ -4,6 +4,8 @@ module LittleMonster::Core
|
|
4
4
|
|
5
5
|
attr_reader :data
|
6
6
|
attr_reader :job_id
|
7
|
+
attr_reader :job_retries
|
8
|
+
attr_reader :job_max_retries
|
7
9
|
|
8
10
|
def initialize(data, job_id = nil)
|
9
11
|
@data = data
|
@@ -30,12 +32,20 @@ module LittleMonster::Core
|
|
30
32
|
raise CancelError if is_cancelled?
|
31
33
|
end
|
32
34
|
|
35
|
+
def last_retry?
|
36
|
+
@retry_callback.nil? ? false : !@retry_callback.call
|
37
|
+
end
|
38
|
+
|
33
39
|
private
|
34
40
|
|
35
|
-
def set_default_values(data
|
41
|
+
def set_default_values(data:, job_id: nil, job_logger: nil,
|
42
|
+
cancelled_callback: nil, retries: 0, max_retries: 0, retry_callback: nil)
|
36
43
|
@cancelled_callback = cancelled_callback
|
37
44
|
@job_id = job_id
|
38
45
|
@data = data
|
46
|
+
@job_retries = retries
|
47
|
+
@job_max_retries = max_retries
|
48
|
+
@retry_callback = retry_callback
|
39
49
|
logger.parent_logger = job_logger if job_logger
|
40
50
|
logger.default_tags.merge!(type: 'task_log')
|
41
51
|
end
|
@@ -36,9 +36,17 @@ module LittleMonster::RSpec
|
|
36
36
|
outputs: options.fetch(:data, {}))
|
37
37
|
end
|
38
38
|
|
39
|
+
default_values = {
|
40
|
+
data: data,
|
41
|
+
cancelled_callback: proc { options.fetch(:cancelled, false) },
|
42
|
+
job_id: options.fetch(:job_id, nil),
|
43
|
+
retries: options.fetch(:job_retries, 0),
|
44
|
+
max_retries: options.fetch(:job_max_retries, 0),
|
45
|
+
retry_callback: proc { !options.fetch(:last_retry, false) }
|
46
|
+
}
|
47
|
+
|
39
48
|
task_instance = task_class.new(data)
|
40
|
-
task_instance.send(:set_default_values,
|
41
|
-
task_instance.instance_variable_set('@cancelled_callback', (proc { true })) if options[:cancelled]
|
49
|
+
task_instance.send(:set_default_values, default_values)
|
42
50
|
|
43
51
|
task_instance
|
44
52
|
end
|