inst-jobs 0.15.21 → 0.15.22

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
  SHA256:
3
- metadata.gz: d8bab4958615bf7295c579533cfb1353e1581b8b4309ea18f266d738b8eb2a0f
4
- data.tar.gz: 0b1f7c4864954f603dc3f0f49d8d07ad8019dc86a4ddf51842fd6c26043c40da
3
+ metadata.gz: 33b7f135ba67d0b2b056851cec2e95672ac03766fa48d614ef53fa0e25a04255
4
+ data.tar.gz: 29878f6688d376811085f7615c701ae2f7cf31cc3bf6462440823f4e91ccb271
5
5
  SHA512:
6
- metadata.gz: fb55981330a060dce72fa0b5f82028ed9e1a2f647228c957826b9fbad34a0243bdebf6ae69b844e7b589693cda06180033e2218916a20fad21366274b5c1fa89
7
- data.tar.gz: d0c1ee9ecf0b1371a4adafac9cff748a58afd53dfa0eb7986dec50858e2419c55a47811cb072599cb6dece55f2d17b067e00a88bae4df2bec607f168ef38927d
6
+ metadata.gz: 8695ff4bd7e9c10a5b1a393adc56d0be6cb1b45c668a8ba413bf91a59a8b1eb76633f0f8e3429ff15c6a0f03a9404e3e4f0d3bacd6f2cbd0ef3984ac5b0e0ad7
7
+ data.tar.gz: 63f911fce5ddf75e7565095c134ffa0a3808fc5bf2b8e86f62466092b32a127afa449cbb44007774c771838fd30222a957246cbb44e9b8b125b01c2a7e8f2fe0
@@ -23,7 +23,10 @@ module Delayed
23
23
  :worker_health_check_config,
24
24
  :worker_procname_prefix,
25
25
  ]
26
- SETTINGS_WITH_ARGS = [ :num_strands ]
26
+ SETTINGS_WITH_ARGS = [
27
+ :job_detailed_log_format,
28
+ :num_strands
29
+ ]
27
30
 
28
31
  SETTINGS.each do |setting|
29
32
  mattr_writer(setting)
@@ -65,6 +68,7 @@ module Delayed
65
68
 
66
69
  self.num_strands = ->(strand_name){ nil }
67
70
  self.default_job_options = ->{ Hash.new }
71
+ self.job_detailed_log_format = ->(job){ job.to_json(include_root: false, only: %w(tag strand priority attempts created_at max_attempts source)) }
68
72
 
69
73
  # Send workers KILL after QUIT if they haven't exited within the
70
74
  # slow_exit_timeout
@@ -1,3 +1,3 @@
1
1
  module Delayed
2
- VERSION = "0.15.21"
2
+ VERSION = "0.15.22"
3
3
  end
@@ -253,7 +253,7 @@ class Worker
253
253
  def log_job(job, format = :short)
254
254
  case format
255
255
  when :long
256
- "#{job.full_name} #{ job.to_json(:include_root => false, :only => %w(tag strand priority attempts created_at max_attempts source)) }"
256
+ "#{job.full_name} #{ Settings.job_detailed_log_format.call(job) }"
257
257
  else
258
258
  job.full_name
259
259
  end
@@ -38,6 +38,33 @@ describe Delayed::Worker do
38
38
  end
39
39
  end
40
40
 
41
+ describe "#log_job" do
42
+ around(:each) do |block|
43
+ prev_logger = Delayed::Settings.job_detailed_log_format
44
+ block.call
45
+ Delayed::Settings.job_detailed_log_format = prev_logger
46
+ end
47
+
48
+ it "has a reasonable default format" do
49
+ payload = double(perform: nil)
50
+ job = Delayed::Job.new(payload_object: payload, priority: 25, strand: "test_jobs")
51
+ short_log_format = subject.log_job(job, :short)
52
+ expect(short_log_format).to eq("RSpec::Mocks::Double")
53
+ long_format = subject.log_job(job, :long)
54
+ expect(long_format).to eq("RSpec::Mocks::Double {\"priority\":25,\"attempts\":0,\"created_at\":null,\"tag\":\"RSpec::Mocks::Double#perform\",\"max_attempts\":null,\"strand\":\"test_jobs\",\"source\":null}")
55
+ end
56
+
57
+ it "logging format can be changed with settings" do
58
+ Delayed::Settings.job_detailed_log_format = ->(job){ "override format #{job.strand}"}
59
+ payload = double(perform: nil)
60
+ job = Delayed::Job.new(payload_object: payload, priority: 25, strand: "test_jobs")
61
+ short_log_format = subject.log_job(job, :short)
62
+ expect(short_log_format).to eq("RSpec::Mocks::Double")
63
+ long_format = subject.log_job(job, :long)
64
+ expect(long_format).to eq("RSpec::Mocks::Double override format test_jobs")
65
+ end
66
+ end
67
+
41
68
  describe "#run" do
42
69
  it "passes extra config options through to the WorkQueue" do
43
70
  expect(subject.work_queue).to receive(:get_and_lock_next_available).
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inst-jobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.21
4
+ version: 0.15.22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Luetke
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-05-06 00:00:00.000000000 Z
12
+ date: 2020-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord