good_job 3.27.1 → 3.27.2
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 +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +3 -0
- data/app/views/layouts/good_job/application.html.erb +14 -8
- data/lib/good_job/notifier.rb +3 -3
- data/lib/good_job/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1f1caf94daea82b4e273aeaa01d2a44def87934a36275fbe5ca007a27bfceb4d
|
|
4
|
+
data.tar.gz: ad46d59cc2166d6386a17a3d0924f27f81c16e1670121b7f252ec9515da4b011
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0c2be38cdbbfc7bb63f65451efc85ac51519f1ebabe7f9324ff5a652344b2e06fb75e93a0f0db0cda5038cf562ea793cf5eab6022cc219a304cab5be42b8dd0c
|
|
7
|
+
data.tar.gz: fe5e5d39d0f02a071d8906b155bac1b9467167565544595c38932870e85aff88569b5c9194ea20cf8ea403c134b3a8833e5075e3c8c0bda51982ddea31e6c406
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [v3.27.2](https://github.com/bensheldon/good_job/tree/v3.27.2) (2024-03-27)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.1...v3.27.2)
|
|
6
|
+
|
|
7
|
+
**Fixed bugs:**
|
|
8
|
+
|
|
9
|
+
- Use scope-resolutioned constants in Notifier loop [\#1300](https://github.com/bensheldon/good_job/pull/1300) ([bensheldon](https://github.com/bensheldon))
|
|
10
|
+
- Invoke inline Bootstrap Color Mode javascript above CSS link tag to better avoid flash of un-themed content [\#1298](https://github.com/bensheldon/good_job/pull/1298) ([bensheldon](https://github.com/bensheldon))
|
|
11
|
+
|
|
12
|
+
**Closed issues:**
|
|
13
|
+
|
|
14
|
+
- Buggy theme animation while switching tabs [\#1224](https://github.com/bensheldon/good_job/issues/1224)
|
|
15
|
+
|
|
3
16
|
## [v3.27.1](https://github.com/bensheldon/good_job/tree/v3.27.1) (2024-03-24)
|
|
4
17
|
|
|
5
18
|
[Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.0...v3.27.1)
|
data/README.md
CHANGED
|
@@ -11,6 +11,8 @@ GoodJob is a multithreaded, Postgres-based, Active Job backend for Ruby on Rails
|
|
|
11
11
|
- **Designed for Active Job.** Complete support for [async, queues, delays, priorities, timeouts, and retries](https://edgeguides.rubyonrails.org/active_job_basics.html) with near-zero configuration.
|
|
12
12
|
- **Built for Rails.** Fully adopts Ruby on Rails [threading and code execution guidelines](https://guides.rubyonrails.org/threading_and_code_execution.html) with [Concurrent::Ruby](https://github.com/ruby-concurrency/concurrent-ruby).
|
|
13
13
|
- **Backed by Postgres.** Relies upon Postgres integrity, session-level Advisory Locks to provide run-once safety and stay within the limits of `schema.rb`, and LISTEN/NOTIFY to reduce queuing latency.
|
|
14
|
+
- **Fully featured.** Includes support for cron-like scheduled jobs, batches, concurrency and throttling controls, and a powerful Web Dashboard (check out the [Demo](https://goodjob-demo.herokuapp.com/)).
|
|
15
|
+
- **Flexible and lightweight.** Safely runnable within a single existing web process or scaled via an independent CLI process across development, test, and production environments.
|
|
14
16
|
- **For most workloads.** Targets full-stack teams, economy-minded solo developers, and applications that enqueue 1-million jobs/day and more.
|
|
15
17
|
|
|
16
18
|
For more of the story of GoodJob, read the [introductory blog post](https://island94.org/2020/07/introducing-goodjob-1-0).
|
|
@@ -21,6 +23,7 @@ For more of the story of GoodJob, read the [introductory blog post](https://isla
|
|
|
21
23
|
| | Queues, priority, retries | Database | Concurrency | Reliability/Integrity | Latency |
|
|
22
24
|
|-----------------|---------------------------|---------------------------------------|-------------------|------------------------|--------------------------|
|
|
23
25
|
| **GoodJob** | ✅ Yes | ✅ Postgres | ✅ Multithreaded | ✅ ACID, Advisory Locks | ✅ Postgres LISTEN/NOTIFY |
|
|
26
|
+
| **Solid Queue** | ✅ Yes | ✅ Postgres and other databases ✨ | 🔶 Multithreaded in forked process | ✅ ACID, Advisory Locks | 🔶 Polling |
|
|
24
27
|
| **Que** | ✅ Yes | 🔶️ Postgres, requires `structure.sql` | ✅ Multithreaded | ✅ ACID, Advisory Locks | ✅ Postgres LISTEN/NOTIFY |
|
|
25
28
|
| **Delayed Job** | ✅ Yes | ✅ Postgres | 🔴 Single-threaded | ✅ ACID, record-based | 🔶 Polling |
|
|
26
29
|
| **Sidekiq** | ✅ Yes | 🔴 Redis | ✅ Multithreaded | 🔴 Crashes lose jobs | ✅ Redis BRPOP |
|
|
@@ -6,6 +6,20 @@
|
|
|
6
6
|
<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
|
|
7
7
|
<%= csrf_meta_tags %>
|
|
8
8
|
<%= csp_meta_tag %>
|
|
9
|
+
|
|
10
|
+
<%# Bootstrap Color Modes
|
|
11
|
+
"It is suggested to include the JavaScript at the top of your page
|
|
12
|
+
to reduce potential screen flickering during reloading of your site."
|
|
13
|
+
https://getbootstrap.com/docs/5.3/customize/color-modes/#javascript
|
|
14
|
+
%>
|
|
15
|
+
<%= tag.script "", nonce: content_security_policy_nonce do %>
|
|
16
|
+
let theme = localStorage.getItem('good_job-theme');
|
|
17
|
+
if (!["light", "dark"].includes(theme)) {
|
|
18
|
+
theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
19
|
+
}
|
|
20
|
+
document.documentElement.setAttribute('data-bs-theme', theme);
|
|
21
|
+
<% end %>
|
|
22
|
+
|
|
9
23
|
<%# Do not use asset tag helpers to avoid paths being overriden by config.asset_host %>
|
|
10
24
|
<%= tag.link rel: "stylesheet", href: frontend_static_path(:bootstrap, format: :css, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
|
|
11
25
|
<%= tag.link rel: "stylesheet", href: frontend_static_path(:style, format: :css, v: GoodJob::VERSION, locale: nil), nonce: content_security_policy_nonce %>
|
|
@@ -16,14 +30,6 @@
|
|
|
16
30
|
<% importmaps = GoodJob::FrontendsController.js_modules.keys.index_with { |module_name| frontend_module_path(module_name, format: :js, locale: nil, v: GoodJob::VERSION) } %>
|
|
17
31
|
<%= tag.script({ imports: importmaps }.to_json.html_safe, type: "importmap", nonce: content_security_policy_nonce) %>
|
|
18
32
|
<%= tag.script "", type: "module", nonce: content_security_policy_nonce do %> import "application"; <% end %>
|
|
19
|
-
<%= tag.script "", nonce: content_security_policy_nonce do %>
|
|
20
|
-
// Ensure theme is updated before dom loads to avoid flash of style
|
|
21
|
-
let theme = localStorage.getItem('good_job-theme');
|
|
22
|
-
if (!["light", "dark"].includes(theme)) {
|
|
23
|
-
theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
|
24
|
-
}
|
|
25
|
-
document.documentElement.setAttribute('data-bs-theme', theme);
|
|
26
|
-
<% end %>
|
|
27
33
|
</head>
|
|
28
34
|
<body>
|
|
29
35
|
<div class="d-flex flex-column min-vh-100">
|
data/lib/good_job/notifier.rb
CHANGED
|
@@ -50,7 +50,7 @@ module GoodJob # :nodoc:
|
|
|
50
50
|
# Send a message via Postgres NOTIFY
|
|
51
51
|
# @param message [#to_json]
|
|
52
52
|
def self.notify(message)
|
|
53
|
-
connection = Execution.connection
|
|
53
|
+
connection = ::GoodJob::Execution.connection
|
|
54
54
|
connection.exec_query <<~SQL.squish
|
|
55
55
|
NOTIFY #{CHANNEL}, #{connection.quote(message.to_json)}
|
|
56
56
|
SQL
|
|
@@ -248,8 +248,8 @@ module GoodJob # :nodoc:
|
|
|
248
248
|
|
|
249
249
|
def with_connection
|
|
250
250
|
Rails.application.executor.wrap do
|
|
251
|
-
self.connection = Execution.connection_pool.checkout.tap do |conn|
|
|
252
|
-
Execution.connection_pool.remove(conn)
|
|
251
|
+
self.connection = ::GoodJob::Execution.connection_pool.checkout.tap do |conn|
|
|
252
|
+
::GoodJob::Execution.connection_pool.remove(conn)
|
|
253
253
|
end
|
|
254
254
|
end
|
|
255
255
|
connection.execute("SET application_name = #{connection.quote(self.class.name)}")
|
data/lib/good_job/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: good_job
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.27.
|
|
4
|
+
version: 3.27.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ben Sheldon
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-03-
|
|
11
|
+
date: 2024-03-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activejob
|