que-scheduler 7.0.1 → 7.1.1

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: b09366936c031d9621c4596d06e3ad7bf590a6d52a2db9cf1b0f9fe31b8d3bba
4
- data.tar.gz: d8caa2bfb5becaee14cbc827a63aa0d138597f702e62d7e59e65acff604baa77
3
+ metadata.gz: 98736ca6415c4b3aaae1473fdd5aae3c24f1bf8fe480e8e9228280e8261bd9dc
4
+ data.tar.gz: 48f9e3a2a2d90896482eb352e4ce5ab1dd7f404a79d6efe5163447e26682215b
5
5
  SHA512:
6
- metadata.gz: a371c6a801e5bcd9fb153faa8190cce580192fb6bc304c4cecdb3e8fb89d782f0ced9b07e05a7a546a631c9a73dec40648fe4c8bc800930e175ac810d4e81d4e
7
- data.tar.gz: 02ff472a2d83564fd197a6e03fea030e8304e1a2ea2f49c900e83afdc9a70d2d07dc2ce88941fd153f53fc4d9ec445c05ba1271aba330b8f8663a76ede2a7264
6
+ metadata.gz: 67886fd3ce9f5f88fc3fd9343a3217536c6bae99b1b8f2ce1e02a05c37623a212c4374bc30beadb6022b30c29291f3aeea09b993ad972e50a8eb7dffdd0d7dbf
7
+ data.tar.gz: 98ed6d0bebcfe3f6656071a827ac4fab6814c0c3e347751fac8277deb3772254b9b4136911b0ab81b852ee5f496053057202c3013c8569235eeccd356a6575c5
data/README.md CHANGED
@@ -123,11 +123,13 @@ A job can have a `schedule_type` assigned to it. Valid values are:
123
123
  times go by during an extended period of downtime (eg a long maintenance window) then only one job
124
124
  will be enqueued when the system starts back up. Multiple missed events are coalesced. This mimics
125
125
  the way resque-scheduler would perform if it were taken down for some time.
126
+ The job's `run_at` is the latest missed cron time.
126
127
  1. `every_event` - Every cron match will result in a job being scheduled. If multiple cron times go
127
128
  by during an extended period of downtime, then a job will be scheduled for every one missed on
128
129
  startup. This `schedule_type` should be used for regular batch jobs that need to know which time
129
130
  they are running a batch for. The job will always be scheduled with an ISO8601 string of the cron
130
131
  that matched as the first argument.
132
+ Its `run_at` is that same cron time, so overdue jobs retain their scheduled order within a priority.
131
133
 
132
134
  An example would be an eventing DailyReportJob which summarises a day's sales. If no jobs run for
133
135
  a few days due to a technical failure, then on recovery a report would still be needed for each
@@ -338,3 +340,4 @@ This gem was inspired by the makers of the excellent [Que](https://github.com/ch
338
340
  * @milgner
339
341
  * @oiahoon
340
342
  * @papodaca
343
+ * @bensynapse
@@ -116,10 +116,11 @@ module Que
116
116
 
117
117
  if schedule_type == DefinedJob::DEFINED_JOB_TYPE_EVERY_EVENT
118
118
  missed_times.map do |time_missed|
119
- ToEnqueue.create(options.merge(args: [time_missed.iso8601] + args_array))
119
+ ToEnqueue.create(options.merge(run_at: time_missed,
120
+ args: [time_missed.iso8601] + args_array))
120
121
  end
121
122
  else
122
- [ToEnqueue.create(options.merge(args: args_array))]
123
+ [ToEnqueue.create(options.merge(run_at: missed_times.last, args: args_array))]
123
124
  end
124
125
  end
125
126
  end
@@ -14,7 +14,7 @@ module Que
14
14
  class << self
15
15
  def create(options)
16
16
  type_from_job_class(options.fetch(:job_class)).new(
17
- options.merge(run_at: Que::Scheduler::Db.now)
17
+ options.merge(run_at: options.fetch(:run_at) { Que::Scheduler::Db.now })
18
18
  )
19
19
  end
20
20
 
@@ -1,5 +1,5 @@
1
1
  module Que
2
2
  module Scheduler
3
- VERSION = "7.0.1".freeze
3
+ VERSION = "7.1.1".freeze
4
4
  end
5
5
  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: 7.0.1
4
+ version: 7.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Harry Lascelles
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-21 00:00:00.000000000 Z
11
+ date: 2026-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport