bizside 2.1.7 → 2.1.9
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 +4 -4
- data/lib/bizside/audit_log.rb +2 -2
- data/lib/bizside/job_utils.rb +67 -18
- data/lib/bizside/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff64fefe7426e051c6a8dfbbf37a45e40780afd5ded6fb08771783a4cbeb04ec
|
4
|
+
data.tar.gz: 36f857fe7739917d3ef2a4215094e645b08e443a93a2143ecaf2c24a8b9ef4b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d609790daa2c1b7ac515563ecd0716dea901c9dc29e5a75e67db3512857d7f2948ab8410cb948761b821a90a3ebaf1d95f591de2f614bef862105f2432256af1
|
7
|
+
data.tar.gz: fe79fc79a6c6c8b209f41275d9a012973da88fd2329d3d82894b24e337a8668e968251711d537022985035d1e083d36a7b0fc299eb6a6d1fce9c1006a3564403
|
data/lib/bizside/audit_log.rb
CHANGED
@@ -168,10 +168,10 @@ module Bizside
|
|
168
168
|
exception.class.name
|
169
169
|
end
|
170
170
|
|
171
|
-
def detect_exception_message(exception)
|
171
|
+
def detect_exception_message(exception, truncate_length: @@truncate_length)
|
172
172
|
return '' unless exception
|
173
173
|
|
174
|
-
exception.to_s
|
174
|
+
exception.to_s[0...truncate_length]
|
175
175
|
end
|
176
176
|
|
177
177
|
def detect_exception_backtrace(exception, truncate_length: @@truncate_length)
|
data/lib/bizside/job_utils.rb
CHANGED
@@ -9,12 +9,7 @@ module Bizside
|
|
9
9
|
|
10
10
|
def self.add_job_to(queue, klass, *args)
|
11
11
|
if Bizside.rails_env&.test?
|
12
|
-
|
13
|
-
return unless klass.before_enqueue(*args)
|
14
|
-
end
|
15
|
-
|
16
|
-
Bizside.logger.info "テスト時にはジョブの登録を行わず、即時実行します。"
|
17
|
-
klass.perform(*args)
|
12
|
+
do_perform_and_hooks_instantly(klass, 'テスト時にはジョブの登録を行わず、即時実行します。', *args)
|
18
13
|
return
|
19
14
|
end
|
20
15
|
|
@@ -49,12 +44,7 @@ module Bizside
|
|
49
44
|
|
50
45
|
def self.enqueue_at_with_queue(queue, time, klass, *args)
|
51
46
|
if Bizside.rails_env&.test?
|
52
|
-
|
53
|
-
return unless klass.before_enqueue(*args)
|
54
|
-
end
|
55
|
-
|
56
|
-
Bizside.logger.info "テスト時には遅延ジョブの登録を行わず、即時実行します。"
|
57
|
-
klass.perform(*args)
|
47
|
+
do_perform_and_hooks_instantly(klass, 'テスト時には遅延ジョブの登録を行わず、即時実行します。', *args)
|
58
48
|
return
|
59
49
|
end
|
60
50
|
|
@@ -84,12 +74,7 @@ module Bizside
|
|
84
74
|
|
85
75
|
def self.set_job_at(time, klass, *args)
|
86
76
|
if Bizside.rails_env&.test?
|
87
|
-
|
88
|
-
return unless klass.before_enqueue(*args)
|
89
|
-
end
|
90
|
-
|
91
|
-
Bizside.logger.info "テスト時には遅延ジョブの登録を行わず、即時実行します。"
|
92
|
-
klass.perform(*args)
|
77
|
+
do_perform_and_hooks_instantly(klass, 'テスト時には遅延ジョブの登録を行わず、即時実行します。', *args)
|
93
78
|
return
|
94
79
|
end
|
95
80
|
|
@@ -214,7 +199,11 @@ module Bizside
|
|
214
199
|
|
215
200
|
def self.dequeue(klass, *args)
|
216
201
|
if Bizside.rails_env&.test?
|
202
|
+
if klass.respond_to?(:before_dequeue)
|
203
|
+
return if klass.before_dequeue(*args) == false
|
204
|
+
end
|
217
205
|
Bizside.logger.info 'テスト時にジョブの削除は行いません。'
|
206
|
+
klass.after_dequeue(*args) if klass.respond_to?(:after_dequeue)
|
218
207
|
return
|
219
208
|
end
|
220
209
|
|
@@ -316,5 +305,65 @@ module Bizside
|
|
316
305
|
::Resque::Failure.count(queue, class_name)
|
317
306
|
end
|
318
307
|
|
308
|
+
def self.do_perform_and_hooks_instantly(klass, log_message, *args)
|
309
|
+
begin
|
310
|
+
if klass.respond_to?(:before_enqueue)
|
311
|
+
return if klass.before_enqueue(*args) == false
|
312
|
+
end
|
313
|
+
rescue
|
314
|
+
# should not propagate to on_failure(job code)
|
315
|
+
raise
|
316
|
+
end
|
317
|
+
error_after_queue = nil
|
318
|
+
args_to_enqueue = Marshal.load(Marshal.dump(args)) # deep copy
|
319
|
+
begin
|
320
|
+
klass.after_enqueue(*args) if klass.respond_to?(:after_enqueue)
|
321
|
+
rescue => e
|
322
|
+
# should propagate only to code that enqueued the job
|
323
|
+
error_after_queue = e
|
324
|
+
end
|
325
|
+
|
326
|
+
args = stringify_keys(args_to_enqueue)
|
327
|
+
|
328
|
+
begin
|
329
|
+
begin
|
330
|
+
klass.before_perform(*args) if klass.respond_to?(:before_perform)
|
331
|
+
rescue ::Resque::Job::DontPerform
|
332
|
+
return
|
333
|
+
end
|
334
|
+
|
335
|
+
perform = -> do
|
336
|
+
Bizside.logger.info log_message
|
337
|
+
klass.perform(*args)
|
338
|
+
end
|
339
|
+
if klass.respond_to?(:around_perform)
|
340
|
+
klass.around_perform(*args, &perform)
|
341
|
+
else
|
342
|
+
perform.call
|
343
|
+
end
|
344
|
+
|
345
|
+
klass.after_perform(*args) if klass.respond_to?(:after_perform)
|
346
|
+
rescue => e
|
347
|
+
klass.on_failure(e, *args) if klass.respond_to?(:on_failure)
|
348
|
+
raise
|
349
|
+
ensure
|
350
|
+
raise error_after_queue if error_after_queue
|
351
|
+
end
|
352
|
+
end
|
353
|
+
private_class_method :do_perform_and_hooks_instantly
|
354
|
+
|
355
|
+
def self.stringify_keys(object)
|
356
|
+
case object
|
357
|
+
when Hash
|
358
|
+
object.map {|k, v| [stringify_keys(k), stringify_keys(v)]}.to_h
|
359
|
+
when Array
|
360
|
+
object.map {|v| stringify_keys(v)}
|
361
|
+
when Symbol
|
362
|
+
object.to_s
|
363
|
+
else
|
364
|
+
object
|
365
|
+
end
|
366
|
+
end
|
367
|
+
private_class_method :stringify_keys
|
319
368
|
end
|
320
369
|
end
|
data/lib/bizside/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bizside
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- bizside-developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|