skiplock 1.1.3 → 1.1.5

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
  SHA256:
3
- metadata.gz: 20d942af62acf618cbb7d7baeaf3d2f0404aac8cf012c255c8806ddbe5d23fd9
4
- data.tar.gz: 7383cfaf4f4a15b0cb9fe8a55bca896b72bcb3c728684aa4e60cc876be67d97e
3
+ metadata.gz: 251899d30b6c22a82be564d61da33bca7734fd67516eec5d6cc122ebde93ccaa
4
+ data.tar.gz: fa090c287d2f3fcbe03a45a324832d4d5a1fa800e26c26deb40091789c712df5
5
5
  SHA512:
6
- metadata.gz: 487fc69ce0ff35ed020c2c0d0823303743d86afd1acd9a18d2399602afcb34f15e1f8215a10f65fafdcf10f9a3982fe8c76cb2df3043dff5ee6562f2379dfd03
7
- data.tar.gz: e71774849db02070c6690d76818f22d693dc7531d3e9ca09710a8768359bdda857edf734f0f86d386e03098d1c66991aae6c7d4b91c2398b7135dc9dc4f25980
6
+ metadata.gz: bd62845a436ea37e27da889beecec6f2b16b4d3be745c3d336da4a3a9aacf34867e586e9ecb186e816e9784969dfee754d1fccb3e0ba8dedb8d63fada1eb9304
7
+ data.tar.gz: ef58e25457ac5ef98c385d122ca3252b161ddf62a589cfefb04286aaec5c2def0f52b6b334e554e8451adfe044f7be7c010a00d9c42a801731e6a7a6b3c5836d
data/lib/skiplock/job.rb CHANGED
@@ -44,7 +44,7 @@ module Skiplock
44
44
  Dir.glob('tmp/skiplock/*').each do |f|
45
45
  disposed = true
46
46
  if self.exists?(id: File.basename(f), running: true)
47
- job = YAML.load_file(f) rescue nil
47
+ job = YAML.respond_to?(:unsafe_load_file) ? YAML.unsafe_load_file(f) : YAML.load_file(f)
48
48
  disposed = job.dispose if job.is_a?(Skiplock::Job)
49
49
  end
50
50
  (File.delete(f) rescue nil) if disposed
@@ -116,8 +116,9 @@ module Skiplock
116
116
  self.max_retries = (self.data['options'].key?('max_retries') ? self.data['options']['max_retries'].to_i : max_retries) rescue max_retries
117
117
  self.max_retries = 20 if self.max_retries < 0 || self.max_retries > 20
118
118
  self.purge = (self.data['options'].key?('purge') ? self.data['options']['purge'] : purge_completion) rescue purge_completion
119
- job_data = { 'job_class' => self.job_class, 'queue_name' => self.queue_name, 'locale' => self.locale, 'timezone' => self.timezone, 'priority' => self.priority, 'executions' => self.executions, 'exception_executions' => self.exception_executions.dup, 'job_id' => self.id, 'enqueued_at' => self.updated_at, 'arguments' => (self.data['arguments'] || []) }
119
+ job_data = { 'job_class' => self.job_class, 'queue_name' => self.queue_name, 'locale' => self.locale, 'timezone' => self.timezone, 'priority' => self.priority, 'executions' => self.executions, 'exception_executions' => self.exception_executions.dup, 'job_id' => self.id, 'enqueued_at' => self.updated_at.iso8601, 'arguments' => (self.data['arguments'] || []) }
120
120
  self.executions = self.executions.to_i + 1
121
+ self.data_will_change!
121
122
  Thread.current[:skiplock_job] = self
122
123
  start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
123
124
  begin
@@ -141,17 +141,29 @@ module Skiplock
141
141
 
142
142
  def setup_logger
143
143
  @config[:loglevel] = 'info' unless ['debug','info','warn','error','fatal','unknown'].include?(@config[:loglevel].to_s)
144
- @logger = ActiveSupport::Logger.new(STDOUT)
144
+ if defined?(ActiveSupport::BroadcastLogger)
145
+ @logger = ActiveSupport::BroadcastLogger.new(::Logger.new(STDOUT))
146
+ else
147
+ @logger = ActiveSupport::Logger.new(STDOUT)
148
+ end
145
149
  @logger.level = @config[:loglevel].to_sym
146
150
  Skiplock.logger = @logger
147
151
  if @config[:logfile].to_s.length > 0
148
- @logger.extend(ActiveSupport::Logger.broadcast(::Logger.new(File.join(Rails.root, 'log', @config[:logfile].to_s), 'daily')))
152
+ if defined?(ActiveSupport::BroadcastLogger)
153
+ @logger.broadcast_to(::Logger.new(File.join(Rails.root, 'log', @config[:logfile].to_s), 'daily'))
154
+ else
155
+ @logger.extend(ActiveSupport::Logger.broadcast(::Logger.new(File.join(Rails.root, 'log', @config[:logfile].to_s), 'daily')))
156
+ end
149
157
  ActiveJob::Base.logger = nil
150
158
  end
151
159
  if @config[:standalone]
152
- Rails.logger.reopen('/dev/null') rescue Rails.logger.reopen('NUL') # supports Windows NUL device
153
- Rails.logger.level = @logger.level
154
- Rails.logger.extend(ActiveSupport::Logger.broadcast(@logger))
160
+ if defined?(ActiveSupport::BroadcastLogger)
161
+ Rails.logger = @logger
162
+ else
163
+ Rails.logger.reopen('/dev/null') rescue Rails.logger.reopen('NUL') # supports Windows NUL device
164
+ Rails.logger.level = @logger.level
165
+ Rails.logger.extend(ActiveSupport::Logger.broadcast(@logger))
166
+ end
155
167
  end
156
168
  rescue Exception => ex
157
169
  @logger.error "Exception with logger: #{ex.to_s}"
@@ -1,4 +1,4 @@
1
1
  module Skiplock
2
- VERSION = Version = '1.1.3'
2
+ VERSION = Version = '1.1.5'
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skiplock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tin Vo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-15 00:00:00.000000000 Z
11
+ date: 2023-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
- rubygems_version: 3.3.12
112
+ rubygems_version: 3.4.10
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: ActiveJob Queue Adapter for PostgreSQL