que-scheduler 3.2.4 → 3.2.5

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: 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