workhorse 1.3.0.rc4 → 1.3.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: dca93061dd92dfbd43f1a44dcb2958181257d16079f408114af13a80197e48c6
4
- data.tar.gz: 8a4c202c76b7380912288331bc8ef24a4dc8839c4455a4c455b48dddeb631588
3
+ metadata.gz: be27417ff88d4edb29204f308a3bc0c23ba0b332de1bd2542247afd2be308b11
4
+ data.tar.gz: 6bc8393256cf426f3a966519d420a324af51723b5a6277ffa4785c9b1844da8f
5
5
  SHA512:
6
- metadata.gz: c8b5829f8d84bd7ed135bfcc467f5b9afd313acd9f36d94b90bf77e106b0cf6f627189bf89e6f0ba31aecf791875fd5217091b3b5034d109473623da5d1b4cf3
7
- data.tar.gz: b50b7514b14ce6170b192835a9d61b03d84577de0466ef471bd60f5561a873930151d61aa9c1c3638dce889c0bdf6432a6ae7289f9e061ff4e8220313dc3937a
6
+ metadata.gz: 37dd9e3476175ed1832128960cf162e4f364c317589f283cf9e72afed4f931033d63bb207fbe7abecfb1224a25b93fc4e66cc6f32f9cdb667aa8a69f72f44d08
7
+ data.tar.gz: 60f981006ca6668490716f4009de5dca69fe550601b79b6d3ac4e90b2d1fbafedbd8031a84e91c506c003594b58bb5fafd1e62519d31db35ae868744eff05095
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Workhorse Changelog
2
2
 
3
+ ## 1.3.0 - 2025-09-16
4
+
5
+ * Stable release based on previous RC releases.
6
+
3
7
  ## 1.3.0.rc4 - 2025-08-27
4
8
 
5
9
  * Fix race-condition in polling mechanism which could result in workers
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.0.rc4
1
+ 1.3.0
@@ -353,15 +353,22 @@ module Workhorse
353
353
  return Workhorse::DbJob.find_by_sql(select.to_sql).to_a
354
354
  end
355
355
 
356
- # Returns a fresh Arel select manager containing the id of all waiting jobs,
357
- # ordered with {#order}.
356
+ # Returns a fresh Arel select manager containing the id of all waiting jobs.
358
357
  #
359
358
  # @return [Arel::SelectManager] the select manager
360
- def valid_ordered_select_id
359
+ def valid_select_id
361
360
  select = table.project(table[:id])
362
361
  select = select.where(table[:state].eq(:waiting))
363
362
  select = select.where(table[:perform_at].lteq(Time.now).or(table[:perform_at].eq(nil)))
364
- return order(select)
363
+ return select
364
+ end
365
+
366
+ # Returns a fresh Arel select manager containing the id of all waiting jobs,
367
+ # ordered with {#order}.
368
+ #
369
+ # @return [Arel::SelectManager] the select manager
370
+ def valid_ordered_select_id
371
+ return order(valid_select_id)
365
372
  end
366
373
 
367
374
  # Orders the records by execution order (first to last)
@@ -393,7 +400,7 @@ module Workhorse
393
400
  #
394
401
  # @return [Array] an array of unique queue names
395
402
  def valid_queues
396
- select = valid_ordered_select_id
403
+ select = valid_select_id
397
404
 
398
405
  # Restrict queues that are currently in progress, except for the nil
399
406
  # queue, where jobs may run in parallel
data/workhorse.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: workhorse 1.3.0.rc4 ruby lib
2
+ # stub: workhorse 1.3.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "workhorse".freeze
6
- s.version = "1.3.0.rc4"
6
+ s.version = "1.3.0"
7
7
 
8
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".freeze) if s.respond_to? :required_rubygems_version=
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Sitrox".freeze]
11
- s.date = "2025-08-27"
11
+ s.date = "2025-09-16"
12
12
  s.files = [".github/workflows/ruby.yml".freeze, ".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, "CHANGELOG.md".freeze, "FAQ.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "RUBY_VERSION".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/rubocop".freeze, "lib/active_job/queue_adapters/workhorse_adapter.rb".freeze, "lib/generators/workhorse/install_generator.rb".freeze, "lib/generators/workhorse/templates/bin/workhorse.rb".freeze, "lib/generators/workhorse/templates/config/initializers/workhorse.rb".freeze, "lib/generators/workhorse/templates/create_table_jobs.rb".freeze, "lib/workhorse.rb".freeze, "lib/workhorse/active_job_extension.rb".freeze, "lib/workhorse/daemon.rb".freeze, "lib/workhorse/daemon/shell_handler.rb".freeze, "lib/workhorse/db_job.rb".freeze, "lib/workhorse/enqueuer.rb".freeze, "lib/workhorse/jobs/cleanup_succeeded_jobs.rb".freeze, "lib/workhorse/jobs/detect_stale_jobs_job.rb".freeze, "lib/workhorse/jobs/run_active_job.rb".freeze, "lib/workhorse/jobs/run_rails_op.rb".freeze, "lib/workhorse/performer.rb".freeze, "lib/workhorse/poller.rb".freeze, "lib/workhorse/pool.rb".freeze, "lib/workhorse/scoped_env.rb".freeze, "lib/workhorse/worker.rb".freeze, "test/active_job/queue_adapters/workhorse_adapter_test.rb".freeze, "test/lib/db_schema.rb".freeze, "test/lib/jobs.rb".freeze, "test/lib/test_helper.rb".freeze, "test/workhorse/daemon_test.rb".freeze, "test/workhorse/db_job_test.rb".freeze, "test/workhorse/enqueuer_test.rb".freeze, "test/workhorse/performer_test.rb".freeze, "test/workhorse/poller_test.rb".freeze, "test/workhorse/pool_test.rb".freeze, "test/workhorse/worker_test.rb".freeze, "workhorse.gemspec".freeze]
13
13
  s.rubygems_version = "3.4.6".freeze
14
14
  s.summary = "Multi-threaded job backend with database queuing for ruby.".freeze
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workhorse
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.rc4
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sitrox
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-08-27 00:00:00.000000000 Z
10
+ date: 2025-09-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: activesupport
@@ -112,9 +112,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">"
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
- version: 1.3.1
117
+ version: '0'
118
118
  requirements: []
119
119
  rubygems_version: 3.6.8
120
120
  specification_version: 4