que-scheduler 3.2.4 → 3.2.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: 38a2b7875c377e5464a1c7765a97fbeb7f1619d6ec9d2425278d95faa33b60ee
4
- data.tar.gz: 2770026bd29d9e08dd7bf45fa82814e2cec5a7bbf18e656e6003854e5f839822
3
+ metadata.gz: 53c67a2992ebec58fd5f78b27d498b3c57fc3d96e12418eef44f107137c4e87d
4
+ data.tar.gz: 9327a0ad5ec9f30ab8a21a83adb6b7ddc288816c94a159bb75a5255c82a6f199
5
5
  SHA512:
6
- metadata.gz: 4a14e16dfe2cb57b90249d3b16747ce92a7a6716bdd79627648df3d8059e1dd0ee86181ee558386ff68a987a4929e90fe19148a26752ee65f58d63be141e962a
7
- data.tar.gz: 0674f778f0e1bd9c38927426a9699cb20ff4e8a7b08a8b96807be66cb252295460779f660357b83e9a0893a8147c2e11627ff81e675b0840c602b6642df098ea
6
+ metadata.gz: d975f2f8bfaef54fd7356b7339da8fb12c5d2333b3c719de122d23cd409ba64ef9159443a98b7a960033fddc8d77739783fec4585846463b26e4b0f021c41d16
7
+ data.tar.gz: 588bec202c190e898fffe4bb0c5188b1439dca86ead2d0b160a2b170f879e72d3f12374bd766787f53c62c30c2d2331327c1563274dd954a82d06746db3f805e
@@ -22,10 +22,10 @@ module Que
22
22
 
23
23
  class << self
24
24
  def append(scheduler_job_id, executed_at, enqueued_jobs)
25
- ::Que.execute(INSERT_AUDIT, [scheduler_job_id, executed_at])
25
+ ::Que::Scheduler::VersionSupport.execute(INSERT_AUDIT, [scheduler_job_id, executed_at])
26
26
  enqueued_jobs.each do |j|
27
27
  attrs = Que::Scheduler::VersionSupport.job_attributes(j)
28
- inserted = ::Que.execute(
28
+ inserted = ::Que::Scheduler::VersionSupport.execute(
29
29
  INSERT_AUDIT_ENQUEUED,
30
30
  [scheduler_job_id] +
31
31
  attrs.values_at(:job_class, :queue, :priority, :args, :job_id, :run_at)
@@ -1,4 +1,5 @@
1
1
  require 'que'
2
+ require_relative 'version_support'
2
3
 
3
4
  module Que
4
5
  module Scheduler
@@ -14,6 +15,7 @@ module Que
14
15
  class Configuration
15
16
  attr_accessor :schedule_location
16
17
  attr_accessor :transaction_adapter
18
+ attr_accessor :que_scheduler_queue
17
19
  end
18
20
  end
19
21
  end
@@ -21,4 +23,5 @@ end
21
23
  Que::Scheduler.configure do |config|
22
24
  config.schedule_location = ENV.fetch('QUE_SCHEDULER_CONFIG_LOCATION', 'config/que_schedule.yml')
23
25
  config.transaction_adapter = ::Que.method(:transaction)
26
+ config.que_scheduler_queue = Que::Scheduler::VersionSupport.default_scheduler_queue
24
27
  end
@@ -11,11 +11,11 @@ module Que
11
11
 
12
12
  class << self
13
13
  def count_schedulers
14
- Que.execute(SCHEDULER_COUNT_SQL).first.values.first.to_i
14
+ Que::Scheduler::VersionSupport.execute(SCHEDULER_COUNT_SQL).first.values.first.to_i
15
15
  end
16
16
 
17
17
  def now
18
- Que.execute(NOW_SQL).first.values.first
18
+ Que::Scheduler::VersionSupport.execute(NOW_SQL).first.values.first
19
19
  end
20
20
 
21
21
  def transaction
@@ -27,13 +27,15 @@ module Que
27
27
  end
28
28
 
29
29
  def db_version
30
- return Que.execute(TABLE_COMMENT).first[:description].to_i if audit_table_exists?
30
+ if audit_table_exists?
31
+ return Que::Scheduler::VersionSupport.execute(TABLE_COMMENT).first[:description].to_i
32
+ end
31
33
 
32
34
  Que::Scheduler::Db.count_schedulers.zero? ? 0 : 1
33
35
  end
34
36
 
35
37
  def audit_table_exists?
36
- result = Que.execute(<<-SQL)
38
+ result = Que::Scheduler::VersionSupport.execute(<<-SQL)
37
39
  SELECT * FROM information_schema.tables WHERE table_name = '#{AUDIT_TABLE_NAME}';
38
40
  SQL
39
41
  result.any?
@@ -52,10 +54,11 @@ module Que
52
54
  end
53
55
 
54
56
  def execute_step(number, direction)
55
- Que.execute(IO.read("#{__dir__}/migrations/#{number}/#{direction}.sql"))
57
+ sql = IO.read("#{__dir__}/migrations/#{number}/#{direction}.sql")
58
+ Que::Scheduler::VersionSupport.execute(sql)
56
59
  return unless audit_table_exists?
57
60
 
58
- Que.execute(
61
+ Que::Scheduler::VersionSupport.execute(
59
62
  "COMMENT ON TABLE que_scheduler_audit IS '#{direction == :up ? number : number - 1}'"
60
63
  )
61
64
  end
@@ -72,6 +72,7 @@ module Que
72
72
  # And rerun...
73
73
  next_run_at = scheduler_job_args.as_time.beginning_of_minute + SCHEDULER_FREQUENCY
74
74
  enqueued_job = SchedulerJob.enqueue(
75
+ queue: Que::Scheduler.configuration.que_scheduler_queue,
75
76
  last_run_time: last_full_execution.iso8601,
76
77
  job_dictionary: job_dictionary,
77
78
  run_at: next_run_at
@@ -1,5 +1,5 @@
1
1
  module Que
2
2
  module Scheduler
3
- VERSION = '3.2.4'.freeze
3
+ VERSION = '3.2.5'.freeze
4
4
  end
5
5
  end
@@ -13,6 +13,20 @@ module Que
13
13
  def job_attributes(enqueued_job)
14
14
  enqueued_job.attrs.transform_keys(&:to_sym)
15
15
  end
16
+
17
+ # Between Que 0.x and 1.x the result of `Que.execute` changed keys from strings to symbols.
18
+ # Here we wrap the concept and make sure either way produces symbols
19
+ def execute(str, args = [])
20
+ normalise_array_of_hashes(Que.execute(str, args))
21
+ end
22
+
23
+ def default_scheduler_queue
24
+ ''
25
+ end
26
+
27
+ def normalise_array_of_hashes(array)
28
+ array.map { |row| row.transform_keys(&:to_sym) }
29
+ end
16
30
  end
17
31
  end
18
32
  end
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: 3.2.4
4
+ version: 3.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry Lascelles
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-14 00:00:00.000000000 Z
11
+ date: 2019-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -230,16 +230,16 @@ dependencies:
230
230
  name: reek
231
231
  requirement: !ruby/object:Gem::Requirement
232
232
  requirements:
233
- - - ">="
233
+ - - '='
234
234
  - !ruby/object:Gem::Version
235
- version: '0'
235
+ version: 5.0.2
236
236
  type: :development
237
237
  prerelease: false
238
238
  version_requirements: !ruby/object:Gem::Requirement
239
239
  requirements:
240
- - - ">="
240
+ - - '='
241
241
  - !ruby/object:Gem::Version
242
- version: '0'
242
+ version: 5.0.2
243
243
  - !ruby/object:Gem::Dependency
244
244
  name: rspec
245
245
  requirement: !ruby/object:Gem::Requirement
@@ -260,14 +260,14 @@ dependencies:
260
260
  requirements:
261
261
  - - "~>"
262
262
  - !ruby/object:Gem::Version
263
- version: '0.61'
263
+ version: 0.63.0
264
264
  type: :development
265
265
  prerelease: false
266
266
  version_requirements: !ruby/object:Gem::Requirement
267
267
  requirements:
268
268
  - - "~>"
269
269
  - !ruby/object:Gem::Version
270
- version: '0.61'
270
+ version: 0.63.0
271
271
  - !ruby/object:Gem::Dependency
272
272
  name: sqlite3
273
273
  requirement: !ruby/object:Gem::Requirement