que 2.2.0 → 2.2.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: fd8e2e7b77de787218a646c550cf38fddd52091c91422fdb5813b12fe1af775c
4
- data.tar.gz: e9abc8a607b82db9b0ed925163ed4b21d61f7f2588b1dfd91bf8b558af3fa14c
3
+ metadata.gz: 0ab8266596317c607383b8041784ef57580260a1823ff62f7e25da2171eda072
4
+ data.tar.gz: 7af7354cb7d22d69c97070c7ef4fd075adb23af081ab75f56d587e73a940e208
5
5
  SHA512:
6
- metadata.gz: 55cea89090a9685c5001aba97794e0fa2246362da2b530b02808966e3a4487d07a908ec980d141ad76d59bd04065863fbc097af2ea78acefda110dfdb37cea48
7
- data.tar.gz: 114317905799b63fcc9b4c5180a15f24da03e7937790e6b330d0d67c5a0d7df062c470dd2b8a98426f5ced795b5da6d435a647e9504b66ba669fb72953872f66
6
+ metadata.gz: 37cbca060d09e4925d6869bee31365c315e274e7d02f9c6bfe6d866082bda4265c890785e04ed740a1d969e282b44dc38bde0accfe7c033ac170ddb136573c91
7
+ data.tar.gz: addec5796eedda7f4dd6561445b387f9066cb2096d583d33f562fb7768af15705384677ca7401086a99c012deb432cdbf138c4ca4e81b09bcbf1f010fa1924ce
@@ -7,17 +7,17 @@ jobs:
7
7
  runs-on: ubuntu-latest
8
8
  strategy:
9
9
  matrix:
10
- ruby_version: ['2.7', '3.0', '3.1']
11
- rails_gemfile: ['6.0', '6.1']
10
+ ruby_version: ['2.7', '3.0', '3.1', '3.2']
11
+ rails_gemfile: ['6.0', '6.1', '7.0']
12
12
  postgres_version: ['14']
13
13
  include:
14
14
  # Postgres versions
15
- - { ruby_version: '3.1', rails_gemfile: '6.1', postgres_version: '9' }
16
- - { ruby_version: '3.1', rails_gemfile: '6.1', postgres_version: '10' }
17
- - { ruby_version: '3.1', rails_gemfile: '6.1', postgres_version: '11' }
18
- - { ruby_version: '3.1', rails_gemfile: '6.1', postgres_version: '12' }
19
- - { ruby_version: '3.1', rails_gemfile: '6.1', postgres_version: '13' }
20
- - { ruby_version: '3.1', rails_gemfile: '6.1', postgres_version: '14' }
15
+ - { ruby_version: '3.2', rails_gemfile: '7.0', postgres_version: '9' }
16
+ - { ruby_version: '3.2', rails_gemfile: '7.0', postgres_version: '10' }
17
+ - { ruby_version: '3.2', rails_gemfile: '7.0', postgres_version: '11' }
18
+ - { ruby_version: '3.2', rails_gemfile: '7.0', postgres_version: '12' }
19
+ - { ruby_version: '3.2', rails_gemfile: '7.0', postgres_version: '13' }
20
+ - { ruby_version: '3.2', rails_gemfile: '7.0', postgres_version: '14' }
21
21
  exclude: []
22
22
  name: "Test: Ruby ${{ matrix.ruby_version }}, Rails ${{ matrix.rails_gemfile }}, PostgreSQL ${{ matrix.postgres_version }}"
23
23
  services:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.1
1
+ 3.2.2
data/CHANGELOG.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  <!-- MarkdownTOC autolink=true -->
4
4
 
5
+ - [2.2.1 \(2023-04-28\)](#221-2023-04-28)
5
6
  - [2.2.0 \(2022-08-29\)](#220-2022-08-29)
6
7
  - [2.1.0 \(2022-08-25\)](#210-2022-08-25)
7
8
  - [2.0.0 \(2022-08-25\)](#200-2022-08-25)
@@ -56,6 +57,11 @@
56
57
 
57
58
  <!-- /MarkdownTOC -->
58
59
 
60
+ ## 2.2.1 (2023-04-28)
61
+
62
+ - **Fixed**:
63
+ + Fixed support for ActiveJob in Ruby 3.2. [#390](https://github.com/que-rb/que/pull/390)
64
+
59
65
  ## 2.2.0 (2022-08-29)
60
66
 
61
67
  - **Changed**:
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:3.1.1-slim-buster@sha256:2ada3e4fe7b1703c9333ad4eb9fc12c1d4d60bce0f981281b2151057e928d9ad AS base
1
+ FROM ruby:3.2.2-slim-buster@sha256:005f0892d160a4f80f8f89116ec15fddc81f296cd4083db9d59accaed125e270 AS base
2
2
 
3
3
  # Install libpq-dev in our base layer, as it's needed in all environments
4
4
  RUN apt-get update \
data/README.md CHANGED
@@ -59,7 +59,7 @@ class CreateQueSchema < ActiveRecord::Migration[6.0]
59
59
  # Whenever you use Que in a migration, always specify the version you're
60
60
  # migrating to. If you're unsure what the current version is, check the
61
61
  # changelog.
62
- Que.migrate!(version: 6)
62
+ Que.migrate!(version: 7)
63
63
  end
64
64
 
65
65
  def down
@@ -191,6 +191,7 @@ These projects are tested to be compatible with Que 1.x:
191
191
  - [que-web](https://github.com/statianzo/que-web) is a Sinatra-based UI for inspecting your job queue.
192
192
  - [que-scheduler](https://github.com/hlascelles/que-scheduler) lets you schedule tasks using a cron style config file.
193
193
  - [que-locks](https://github.com/airhorns/que-locks) lets you lock around job execution for so only one job runs at once for a set of arguments.
194
+ - [que-unique](https://github.com/bambooengineering/que-unique) provides fast in-memory `enqueue` deduping.
194
195
 
195
196
  If you have a project that uses or relates to Que, feel free to submit a PR adding it to the list!
196
197
 
data/docker-compose.yml CHANGED
@@ -10,7 +10,7 @@ services:
10
10
  - db
11
11
  volumes:
12
12
  - .:/work
13
- - ruby-3.1.1-gem-cache:/usr/local/bundle
13
+ - ruby-3.2.2-gem-cache:/usr/local/bundle
14
14
  - ~/.docker-rc.d/:/.docker-rc.d/:ro
15
15
  working_dir: /work
16
16
  entrypoint: /work/scripts/docker-entrypoint
@@ -44,4 +44,4 @@ services:
44
44
 
45
45
  volumes:
46
46
  db-data: ~
47
- ruby-3.1.1-gem-cache: ~
47
+ ruby-3.2.2-gem-cache: ~
data/docs/README.md CHANGED
@@ -139,8 +139,8 @@ There are other docs to read if you're using [Sequel](#using-sequel) or [plain P
139
139
  After you've connected Que to the database, you can manage the jobs table. You'll want to migrate to a specific version in a migration file, to ensure that they work the same way even when you upgrade Que in the future:
140
140
 
141
141
  ```ruby
142
- # Update the schema to version #6.
143
- Que.migrate!(version: 6)
142
+ # Update the schema to version #7.
143
+ Que.migrate!(version: 7)
144
144
 
145
145
  # Remove Que's jobs table entirely.
146
146
  Que.migrate!(version: 0)
@@ -553,7 +553,7 @@ require 'que'
553
553
  Sequel.migration do
554
554
  up do
555
555
  Que.connection = self
556
- Que.migrate!(version: 6)
556
+ Que.migrate!(version: 7)
557
557
  end
558
558
  down do
559
559
  Que.connection = self
@@ -10,6 +10,7 @@ module Que
10
10
  def run(*args)
11
11
  raise Error, "Job class #{self.class} didn't define a run() method!"
12
12
  end
13
+ ruby2_keywords(:run) if respond_to?(:ruby2_keywords, true)
13
14
 
14
15
  def perform(*args)
15
16
  args, kwargs = Que.split_out_ruby2_keywords(args)
@@ -31,6 +32,7 @@ module Que
31
32
  ),
32
33
  )
33
34
  end
35
+ ruby2_keywords(:perform) if respond_to?(:ruby2_keywords, true)
34
36
 
35
37
  private
36
38
 
data/lib/que/locker.rb CHANGED
@@ -7,6 +7,10 @@
7
7
  require 'set'
8
8
 
9
9
  module Que
10
+ class << self
11
+ attr_accessor :locker
12
+ end
13
+
10
14
  Listener::MESSAGE_FORMATS[:job_available] =
11
15
  {
12
16
  queue: String,
@@ -71,6 +75,11 @@ module Que
71
75
  Que.assert Array, worker_priorities
72
76
  worker_priorities.each { |p| Que.assert([Integer, NilClass], p) }
73
77
 
78
+ # We assign this globally because we only ever expect one locker to be
79
+ # created per worker process. This can be used by middleware or external
80
+ # code to access the locker during runtime.
81
+ Que.locker = self
82
+
74
83
  # We use a JobBuffer to track jobs and pass them to workers, and a
75
84
  # ResultQueue to receive messages from workers.
76
85
  @job_buffer = JobBuffer.new(
data/lib/que/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Que
4
- VERSION = '2.2.0'
4
+ VERSION = '2.2.1'
5
5
 
6
6
  def self.job_schema_version
7
7
  2
data/lib/que.rb CHANGED
@@ -79,6 +79,10 @@ module Que
79
79
  @default_queue || DEFAULT_QUEUE
80
80
  end
81
81
 
82
+ def server?
83
+ defined?(Que::CommandLineInterface).nil?
84
+ end
85
+
82
86
  # Support simple integration with many common connection pools.
83
87
  def connection=(conn)
84
88
  self.connection_proc =
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: que
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Hanks
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-29 00:00:00.000000000 Z
11
+ date: 2023-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
117
  requirements: []
118
- rubygems_version: 3.3.7
118
+ rubygems_version: 3.4.10
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: A PostgreSQL-based Job Queue