que-scheduler 4.0.1 → 4.2.0

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: 78c9bc8d137dbe8a7c2428e50c615928c5d702d06432763b5346030fcbe81d5b
4
- data.tar.gz: 3e639fd3f2263266fa25e25c637390f718e7751726feaefaa63f69cc91124f2d
3
+ metadata.gz: adf8110c30a79a8eeddb300dbfe79a1ac283080983dd41befc9a6769b66efcf6
4
+ data.tar.gz: 2c800a7070b326993bda2eefea85e151ea74e40a9eb6e653fdfd10e47db59eaa
5
5
  SHA512:
6
- metadata.gz: b599d23b38d8263412e2a1fa7eb6621f564a628ae7b66800b0259667a76956e0a9e16824bd463a24edd0752119f30ec01ac3a1951e1d4abfc1d05ed1905745dc
7
- data.tar.gz: 42691328a2727e14f15305e6baac0f0d7b3e4cb1d1a91c80d2ef1f7ab42db56e3bd1640884805adf381d65fbe2d6b3d7abbe2373e8ef49dfbeb737f790b76700
6
+ metadata.gz: a44603e489c6e9a7c7715ef3a53d7a5d4b4743d9e886be1b05daa37d4c3fa47666f80e896eab14d4e3f43ecda5b4cbc3e2532ed85bfe019bc330bb743cefe6e1
7
+ data.tar.gz: 5534d3ca737011e1a97cd4b909377a31e58f287d782cb5c4f1e09e96a6369a12838896270b89609db07be532eb78195524129aa47626fe87024ad3975820e4f7
data/README.md CHANGED
@@ -2,7 +2,6 @@ que-scheduler
2
2
  ================
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/que-scheduler.svg)](https://badge.fury.io/rb/que-scheduler)
5
- [![Build status](https://gitlab.com/hlascelles/que-scheduler/badges/master/pipeline.svg)](https://gitlab.com/hlascelles/que-scheduler/pipelines)
6
5
  [![Coverage Status](https://coveralls.io/repos/github/hlascelles/que-scheduler/badge.svg?branch=master)](https://coveralls.io/github/hlascelles/que-scheduler?branch=master)
7
6
  [![Code Climate Maintainability](https://api.codeclimate.com/v1/badges/710d2fc5202f95d76e8a/maintainability)](https://codeclimate.com/github/hlascelles/que-scheduler/maintainability)
8
7
 
@@ -107,7 +106,7 @@ DailyBatchReport:
107
106
  cron: "0 3 * * *"
108
107
  # This job will be run every day at 03:00 as normal.
109
108
  # However, the "schedule_type: every_event" setting below will ensure that if workers are offline
110
- # for any amount of time then the bcaklog will always be enqueued on recovery.
109
+ # for any amount of time then the backlog will always be enqueued on recovery.
111
110
  # See "Schedule types" below for more information.
112
111
  schedule_type: every_event
113
112
  ```
@@ -162,6 +161,14 @@ Que::Scheduler.configure do |config|
162
161
  # It *must* be the "highest throughput" queue - do not work the scheduler on a "long
163
162
  # running jobs" queue. It is very unlikely you will want to change this.
164
163
  config.que_scheduler_queue = ENV.fetch("QUE_SCHEDULER_QUEUE", "" or "default")
164
+
165
+ # If que-scheduler is being used with Rails, then it will inherit the time zone from that
166
+ # framework, and you can leave the value as nil as shown below. However, if you are not using
167
+ # Rails, you may need to set the time zone here. If que-scheduler cannot determine the time zone
168
+ # it will yield an error prompting you for action.
169
+ # If you need to set a value, use the string representation:
170
+ # eg: config.time_zone = "Europe/London"
171
+ config.time_zone = nil
165
172
  end
166
173
  ```
167
174
 
@@ -220,6 +227,15 @@ The changes in past migrations were:
220
227
  | 5 | Dropped an unnecessary index |
221
228
  | 6 | Enforced single scheduler job at the trigger level |
222
229
 
230
+ The changes to the DB ([DDL](https://en.wikipedia.org/wiki/Data_definition_language)) are all
231
+ captured in the structure.sql so will be re-run in correctly if squashed - except for the actual
232
+ scheduling of the job itself (as that is [DML](https://en.wikipedia.org/wiki/Data_manipulation_language)).
233
+ If you squash your migrations make sure this is added as the final line:
234
+
235
+ ```ruby
236
+ Que::Scheduler::Migrations.reenqueue_scheduler_if_missing
237
+ ```
238
+
223
239
  ## HA Redundancy and DB restores
224
240
 
225
241
  Because of the way que-scheduler works, it requires no additional processes. It is, itself, a Que job.
@@ -292,7 +308,7 @@ A full changelog can be found here: [CHANGELOG.md](https://github.com/hlascelles
292
308
 
293
309
  ## System requirements
294
310
 
295
- Your [postgres](https://www.postgresql.org/) database must be at least version 9.4.0.
311
+ Your [postgres](https://www.postgresql.org/) database must be at least version 9.5.0.
296
312
 
297
313
  ## Inspiration
298
314
 
@@ -301,8 +317,10 @@ This gem was inspired by the makers of the excellent [Que](https://github.com/ch
301
317
  ## Contributors
302
318
 
303
319
  * @bnauta
320
+ * @bjeanes
304
321
  * @JackDanger
305
322
  * @jish
306
323
  * @joehorsnell
307
324
  * @krzyzak
308
325
  * @papodaca
326
+ * @ajoneil
@@ -4,10 +4,8 @@ require_relative "version_support"
4
4
  module Que
5
5
  module Scheduler
6
6
  class Configuration
7
- attr_accessor :schedule_location
8
- attr_accessor :schedule
9
- attr_accessor :transaction_adapter
10
- attr_accessor :que_scheduler_queue
7
+ attr_accessor :schedule_location, :schedule, :transaction_adapter, :que_scheduler_queue,
8
+ :time_zone
11
9
  end
12
10
 
13
11
  class << self
@@ -26,6 +24,7 @@ module Que
26
24
  config.que_scheduler_queue =
27
25
  ENV.fetch("QUE_SCHEDULER_QUEUE", Que::Scheduler::VersionSupport.default_scheduler_queue)
28
26
  config.schedule = nil
27
+ config.time_zone = nil
29
28
  end
30
29
  end
31
30
  end
@@ -18,9 +18,11 @@ module Que
18
18
  Que::Scheduler::VersionSupport.execute(NOW_SQL).first.values.first
19
19
  end
20
20
 
21
+ # rubocop:disable Style/ExplicitBlockArgument
21
22
  def transaction
22
23
  Que::Scheduler.configuration.transaction_adapter.call { yield }
23
24
  end
25
+ # rubocop:enable Style/ExplicitBlockArgument
24
26
  end
25
27
  end
26
28
  end
@@ -86,10 +86,10 @@ module Que
86
86
  # queue name is only supported for a subrange of ActiveJob versions. Print this out as a
87
87
  # warning.
88
88
  if queue &&
89
- Que::Scheduler::ToEnqueue.active_job_sufficient_version? &&
89
+ Que::Scheduler::ToEnqueue.active_job_loaded? &&
90
90
  job_class < ::ActiveJob::Base &&
91
91
  Que::Scheduler::ToEnqueue.active_job_version < Gem::Version.create("6.0.3")
92
- puts <<-ERR
92
+ puts <<~ERR
93
93
  WARNING from que-scheduler....
94
94
  Between versions 4.2.3 and 6.0.2 (inclusive) Rails did not support setting queue names
95
95
  on que jobs with ActiveJob, so que-scheduler cannot support it.
@@ -8,7 +8,7 @@ module Que
8
8
  class QueSchedulerAuditClearDownJob < Que::Job
9
9
  class << self
10
10
  def build_sql(table_name)
11
- <<-SQL
11
+ <<~SQL
12
12
  WITH deleted AS (
13
13
  DELETE FROM #{table_name}
14
14
  WHERE scheduler_job_id <= (
@@ -28,7 +28,7 @@ module Que
28
28
  Que::Scheduler::VersionSupport.set_priority(self, 100)
29
29
 
30
30
  def run(options)
31
- retain_row_count = options.fetch(:retain_row_count)
31
+ retain_row_count = options.symbolize_keys.fetch(:retain_row_count)
32
32
  Que::Scheduler::Db.transaction do
33
33
  # This may delete zero or more than `retain_row_count` depending on if anything was
34
34
  # scheduled in each of the past schedule runs
@@ -36,7 +36,7 @@ module Que
36
36
  # This will delete all but `retain_row_count` oldest rows
37
37
  count = Que::Scheduler::VersionSupport.execute(DELETE_AUDIT_SQL, [retain_row_count])
38
38
  log = "#{self.class} cleared down #{count.first.fetch(:count)} rows"
39
- ::Que.log(event: "que-scheduler".to_sym, message: log)
39
+ ::Que.log(event: :"que-scheduler", message: log)
40
40
  end
41
41
  end
42
42
  end
@@ -41,6 +41,11 @@ module Que
41
41
  result.any?
42
42
  end
43
43
 
44
+ # This method is only intended for use in squashed migrations
45
+ def reenqueue_scheduler_if_missing
46
+ Que::Scheduler::SchedulerJob.enqueue if Que::Scheduler::Db.count_schedulers.zero?
47
+ end
48
+
44
49
  private
45
50
 
46
51
  def migrate_up(current, version)
@@ -54,7 +59,7 @@ module Que
54
59
  end
55
60
 
56
61
  def execute_step(number, direction)
57
- sql = IO.read("#{__dir__}/migrations/#{number}/#{direction}.sql")
62
+ sql = File.read("#{__dir__}/migrations/#{number}/#{direction}.sql")
58
63
  Que::Scheduler::VersionSupport.execute(sql)
59
64
  return unless audit_table_exists?
60
65
 
@@ -27,7 +27,7 @@ module Que
27
27
  end
28
28
 
29
29
  def from_file(location)
30
- from_yaml(IO.read(location))
30
+ from_yaml(File.read(location))
31
31
  end
32
32
 
33
33
  def from_yaml(config)
@@ -36,21 +36,20 @@ module Que
36
36
  end
37
37
 
38
38
  def from_hash(config_hash)
39
- config_hash.map do |name, defined_job_hash|
40
- [name, hash_item_to_defined_job(name, defined_job_hash)]
41
- end.to_h
39
+ config_hash.to_h do |name, defined_job_hash|
40
+ name_str = name.to_s
41
+ [name_str, hash_item_to_defined_job(name_str, defined_job_hash)]
42
+ end
42
43
  end
43
44
 
44
- def hash_item_to_defined_job(name, defined_job_hash)
45
+ def hash_item_to_defined_job(name, defined_job_hash_in)
46
+ defined_job_hash = defined_job_hash_in.stringify_keys
45
47
  # Que stores arguments as a json array. If the args we have to provide are already an
46
48
  # array we can can simply pass them through. If it is a single non-nil value, then we make
47
49
  # an array with one item which is that value (this includes if it is a hash). It could
48
50
  # also be a single nil value.
49
51
  args_array =
50
- if !defined_job_hash.key?("args")
51
- # No args were requested
52
- []
53
- else
52
+ if defined_job_hash.key?("args")
54
53
  args = defined_job_hash["args"]
55
54
  if args.is_a?(Array)
56
55
  # An array of args was requested
@@ -60,11 +59,14 @@ module Que
60
59
  # be enqueued as an array of 1 item
61
60
  [args]
62
61
  end
62
+ else
63
+ # No args were requested
64
+ []
63
65
  end
64
66
 
65
67
  Que::Scheduler::DefinedJob.create(
66
68
  name: name,
67
- job_class: defined_job_hash["class"] || name,
69
+ job_class: defined_job_hash["class"]&.to_s || name,
68
70
  queue: defined_job_hash["queue"],
69
71
  args_array: args_array,
70
72
  priority: defined_job_hash["priority"],
@@ -33,7 +33,7 @@ module Que
33
33
  scheduler_job_args, scheduler_job_args.as_time, result.job_dictionary, enqueued_jobs
34
34
  )
35
35
  # Only now we're sure nothing errored, log the results
36
- logs.each { |str| ::Que.log(event: "que-scheduler".to_sym, message: str) }
36
+ logs.each { |str| ::Que.log(event: :"que-scheduler", message: str) }
37
37
  end
38
38
  end
39
39
 
@@ -50,11 +50,11 @@ module Que
50
50
  def check_enqueued_job(to_enqueue, enqueued_job, logs)
51
51
  logs << if enqueued_job.present?
52
52
  "que-scheduler enqueueing #{enqueued_job.job_class} " \
53
- "#{enqueued_job.job_id} with args: #{enqueued_job.args}"
53
+ "#{enqueued_job.job_id} with args: #{enqueued_job.args}"
54
54
  else
55
55
  # This can happen if a middleware nixes the enqueue call
56
56
  "que-scheduler called enqueue on #{to_enqueue.job_class} " \
57
- "but it reported no job was scheduled. Has `enqueue` been overridden?"
57
+ "but it reported no job was scheduled. Has `enqueue` been overridden?"
58
58
  end
59
59
  end
60
60
 
@@ -22,7 +22,8 @@ module Que
22
22
  else
23
23
  options = options.symbolize_keys
24
24
  {
25
- last_run_time: Time.zone.parse(options.fetch(:last_run_time)),
25
+ last_run_time:
26
+ Que::Scheduler::TimeZone.time_zone.parse(options.fetch(:last_run_time)),
26
27
  job_dictionary: options.fetch(:job_dictionary),
27
28
  }
28
29
  end
@@ -19,7 +19,7 @@ module Que
19
19
  sync_err =
20
20
  if Que::Scheduler::VersionSupport.running_synchronously? && db_version.zero?
21
21
  code = Que::Scheduler::VersionSupport.running_synchronously_code?
22
- <<-ERR_SYNC
22
+ <<~ERR_SYNC
23
23
  You currently have Que to run in synchronous mode using
24
24
  #{code}, so it is most likely this error
25
25
  has happened during an initial migration. You should disable synchronous mode and
@@ -0,0 +1,61 @@
1
+ module Que
2
+ module Scheduler
3
+ module TimeZone
4
+ BOTH_CONFIG_AND_TIME_DOT_ZONE_SET = <<~ERR.freeze
5
+ The que-scheduler config for time_zone has been set to a non-nil value, but
6
+ it appears to also have been set on Time.zone (possibly by Rails). Both of these
7
+ cannot be non-nil.
8
+ You should remove the time_zone config from the que-scheduler config block.
9
+ ERR
10
+
11
+ TIME_ZONE_COULD_NOT_BE_DETERMINED = <<~ERR.freeze
12
+ It appears Time.zone is nil. This prevents proper functioning of que-scheduler.
13
+
14
+ Resolving this issue depends on your application setup.
15
+
16
+ 1) If you are using Rails, set the standard time_zone config
17
+ eg:
18
+ ```
19
+ # In application.rb
20
+ config.time_zone = "Europe/London"
21
+ ```
22
+
23
+ 2) If you are not using Rails, set your time zone in the que-scheduler config:
24
+ eg:
25
+ ```
26
+ Que::Scheduler.configure do |config|
27
+ config.time_zone = "Europe/London"
28
+ end
29
+ ```
30
+ ERR
31
+
32
+ TIME_ZONE_CONFIG_IS_NOT_VALID = <<~ERR.freeze
33
+ The que-scheduler config for time_zone has been set to a non-nil value, but that value
34
+ does not yield a real time zone when passed to ActiveSupport::TimeZone.new
35
+ ERR
36
+
37
+ class << self
38
+ def time_zone
39
+ @time_zone ||=
40
+ begin
41
+ time_dot_zone = Time.zone
42
+ if time_dot_zone.present?
43
+ if Que::Scheduler.configuration.time_zone.present?
44
+ raise BOTH_CONFIG_AND_TIME_DOT_ZONE_SET
45
+ end
46
+
47
+ time_dot_zone
48
+ elsif Que::Scheduler.configuration.time_zone
49
+ new_tz = ActiveSupport::TimeZone.new(Que::Scheduler.configuration.time_zone)
50
+ raise TIME_ZONE_CONFIG_IS_NOT_VALID unless new_tz
51
+
52
+ new_tz
53
+ else
54
+ raise TIME_ZONE_COULD_NOT_BE_DETERMINED
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -22,14 +22,12 @@ module Que
22
22
  type_from_job_class(job_class).present?
23
23
  end
24
24
 
25
- def active_job_version
26
- Gem.loaded_specs["activejob"]&.version
25
+ def active_job_loaded?
26
+ !!active_job_version
27
27
  end
28
28
 
29
- def active_job_sufficient_version?
30
- # ActiveJob 4.x does not support job_ids correctly
31
- # https://github.com/rails/rails/pull/20056/files
32
- active_job_version && active_job_version > Gem::Version.create("5")
29
+ def active_job_version
30
+ Gem.loaded_specs["activejob"]&.version
33
31
  end
34
32
 
35
33
  def active_job_version_supports_queues?
@@ -56,7 +54,7 @@ module Que
56
54
  hash = {
57
55
  ::Que::Job => QueJobType,
58
56
  }
59
- hash[::ActiveJob::Base] = ActiveJobType if ToEnqueue.active_job_sufficient_version?
57
+ hash[::ActiveJob::Base] = ActiveJobType if ToEnqueue.active_job_loaded?
60
58
  hash
61
59
  end
62
60
  end
@@ -105,7 +103,13 @@ module Que
105
103
  scheduled_at =
106
104
  begin
107
105
  scheduled_at_float = data[:scheduled_at]
108
- scheduled_at_float ? Time.zone.at(scheduled_at_float) : nil
106
+ # rubocop:disable Style/EmptyElse
107
+ if scheduled_at_float
108
+ Que::Scheduler::TimeZone.time_zone.at(scheduled_at_float)
109
+ else
110
+ nil
111
+ end
112
+ # rubocop:enable Style/EmptyElse
109
113
  end
110
114
 
111
115
  # Rails didn't support queues for ActiveJob for a while
@@ -1,5 +1,5 @@
1
1
  module Que
2
2
  module Scheduler
3
- VERSION = "4.0.1".freeze
3
+ VERSION = "4.2.0".freeze
4
4
  end
5
5
  end
@@ -61,7 +61,11 @@ module Que
61
61
 
62
62
  def zero_major?
63
63
  # This is the only way to handle beta releases too
64
- @zero_major ||= Gem.loaded_specs["que"].version.to_s.split(".").first.to_i.zero?
64
+ @zero_major ||= que_version.split(".").first.to_i.zero?
65
+ end
66
+
67
+ def que_version
68
+ @que_version ||= Gem.loaded_specs["que"].version.to_s
65
69
  end
66
70
 
67
71
  private
data/lib/que/scheduler.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "que/scheduler/version"
2
2
  require "que/scheduler/version_support"
3
3
  require "que/scheduler/configuration"
4
+ require "que/scheduler/time_zone"
4
5
  require "que/scheduler/scheduler_job"
5
6
  require "que/scheduler/db"
6
7
  require "que/scheduler/audit"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: que-scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry Lascelles
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-29 00:00:00.000000000 Z
11
+ date: 2022-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.0'
19
+ version: '5.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '4.0'
26
+ version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: fugit
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +53,7 @@ dependencies:
53
53
  version: '3'
54
54
  - - "<"
55
55
  - !ruby/object:Gem::Version
56
- version: '5'
56
+ version: '6'
57
57
  type: :runtime
58
58
  prerelease: false
59
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,7 +63,7 @@ dependencies:
63
63
  version: '3'
64
64
  - - "<"
65
65
  - !ruby/object:Gem::Version
66
- version: '5'
66
+ version: '6'
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: que
69
69
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +73,7 @@ dependencies:
73
73
  version: '0.12'
74
74
  - - "<="
75
75
  - !ruby/object:Gem::Version
76
- version: 1.0.0.beta4
76
+ version: 1.0.0.beta5
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
@@ -83,21 +83,27 @@ dependencies:
83
83
  version: '0.12'
84
84
  - - "<="
85
85
  - !ruby/object:Gem::Version
86
- version: 1.0.0.beta4
86
+ version: 1.0.0.beta5
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: activerecord
89
89
  requirement: !ruby/object:Gem::Requirement
90
90
  requirements:
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: '4.0'
93
+ version: '5.0'
94
+ - - "<"
95
+ - !ruby/object:Gem::Version
96
+ version: '7.0'
94
97
  type: :development
95
98
  prerelease: false
96
99
  version_requirements: !ruby/object:Gem::Requirement
97
100
  requirements:
98
101
  - - ">="
99
102
  - !ruby/object:Gem::Version
100
- version: '4.0'
103
+ version: '5.0'
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '7.0'
101
107
  - !ruby/object:Gem::Dependency
102
108
  name: appraisal
103
109
  requirement: !ruby/object:Gem::Requirement
@@ -141,7 +147,7 @@ dependencies:
141
147
  - !ruby/object:Gem::Version
142
148
  version: '0'
143
149
  - !ruby/object:Gem::Dependency
144
- name: coveralls
150
+ name: coveralls_reborn
145
151
  requirement: !ruby/object:Gem::Requirement
146
152
  requirements:
147
153
  - - ">="
@@ -210,6 +216,20 @@ dependencies:
210
216
  - - ">="
211
217
  - !ruby/object:Gem::Version
212
218
  version: '0'
219
+ - !ruby/object:Gem::Dependency
220
+ name: psych
221
+ requirement: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - '='
224
+ - !ruby/object:Gem::Version
225
+ version: 3.1.0
226
+ type: :development
227
+ prerelease: false
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - '='
231
+ - !ruby/object:Gem::Version
232
+ version: 3.1.0
213
233
  - !ruby/object:Gem::Dependency
214
234
  name: rake
215
235
  requirement: !ruby/object:Gem::Requirement
@@ -256,16 +276,16 @@ dependencies:
256
276
  name: rubocop
257
277
  requirement: !ruby/object:Gem::Requirement
258
278
  requirements:
259
- - - '='
279
+ - - ">="
260
280
  - !ruby/object:Gem::Version
261
- version: 0.84.0
281
+ version: '0'
262
282
  type: :development
263
283
  prerelease: false
264
284
  version_requirements: !ruby/object:Gem::Requirement
265
285
  requirements:
266
- - - '='
286
+ - - ">="
267
287
  - !ruby/object:Gem::Version
268
- version: 0.84.0
288
+ version: '0'
269
289
  - !ruby/object:Gem::Dependency
270
290
  name: rubocop-rspec
271
291
  requirement: !ruby/object:Gem::Requirement
@@ -355,6 +375,7 @@ files:
355
375
  - lib/que/scheduler/scheduler_job.rb
356
376
  - lib/que/scheduler/scheduler_job_args.rb
357
377
  - lib/que/scheduler/state_checks.rb
378
+ - lib/que/scheduler/time_zone.rb
358
379
  - lib/que/scheduler/to_enqueue.rb
359
380
  - lib/que/scheduler/version.rb
360
381
  - lib/que/scheduler/version_support.rb
@@ -367,7 +388,7 @@ metadata:
367
388
  changelog_uri: https://github.com/hlascelles/que-scheduler/blob/master/CHANGELOG.md
368
389
  source_code_uri: https://github.com/hlascelles/que-scheduler/
369
390
  bug_tracker_uri: https://github.com/hlascelles/que-scheduler/issues
370
- post_install_message:
391
+ post_install_message:
371
392
  rdoc_options: []
372
393
  require_paths:
373
394
  - lib
@@ -382,8 +403,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
382
403
  - !ruby/object:Gem::Version
383
404
  version: '0'
384
405
  requirements: []
385
- rubygems_version: 3.0.3
386
- signing_key:
406
+ rubygems_version: 3.2.7
407
+ signing_key:
387
408
  specification_version: 4
388
409
  summary: A cron scheduler for Que
389
410
  test_files: []