good_job 3.17.2 → 3.17.3

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: 8c92206b4099b3be756adba01af60f4ef531eaf8cf02a9c9cdd17129214f929c
4
- data.tar.gz: 29f1e72a6b21d2f1e3d073d8b1bd9f4f2a78e417f69c21c195fc795f62ac4e5c
3
+ metadata.gz: 46ab9513d6943173f1c0c81f0755ac6870581595e2962ca0e438b32cdb9eec6e
4
+ data.tar.gz: 0aeebddc6f1ad80fc1d0cba1c4d923b17c6d9bae2fcafdd3282fc9d6cf4ec57f
5
5
  SHA512:
6
- metadata.gz: 2906c0b22dc6f6b0f0e78c607467533598e84dce2a29e654321293da877f1afd09ee59afd534d7a7b7f1481ae796d111b2492f62ec2cddcde843442e4262adbe
7
- data.tar.gz: 0e8107f018f836e0d15f5836d93ebb8bdbe6e36381cba63680113302e3125f1a49d9aba5e05a2124ce50ec51cbfde7059ebed30b3cc5b64d859ce16867ae2c5e
6
+ metadata.gz: 2c5491f403270ee5029dd1032d42421a721c996c35491198ee46901073dbc40fa3974e2d91d757905a474b524a3a3d8c8b27bae1d1ad661f0559d553df97dd7c
7
+ data.tar.gz: 26d55dec3a1a9c5bcef140f612a391ee14688f686ffc9300ab7ed98309e692de21c6ef5c623794545fb9f754656d731dbc3146e8264ff060f902837b8ba379b8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## [v3.17.3](https://github.com/bensheldon/good_job/tree/v3.17.3) (2023-08-19)
4
+
5
+ [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.2...v3.17.3)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - New probe server fixes: allow accept\_nonblock to raise and IO.gets return nil [\#1043](https://github.com/bensheldon/good_job/pull/1043) ([stas](https://github.com/stas))
10
+
11
+ **Closed issues:**
12
+
13
+ - Dashboard as separate package? [\#965](https://github.com/bensheldon/good_job/issues/965)
14
+ - Managing jobs with errors [\#929](https://github.com/bensheldon/good_job/issues/929)
15
+ - Feature: dynamic options for good\_job\_control\_concurrency\_with [\#684](https://github.com/bensheldon/good_job/issues/684)
16
+
17
+ **Merged pull requests:**
18
+
19
+ - Attempt to overcome github\_changelog\_generator's rate limit problem [\#1045](https://github.com/bensheldon/good_job/pull/1045) ([bensheldon](https://github.com/bensheldon))
20
+ - \[Doc\] for cron schedule add info about Dashboard view [\#1042](https://github.com/bensheldon/good_job/pull/1042) ([steveroot](https://github.com/steveroot))
21
+ - Add description of :class to readme for cron style repeating jobs section [\#1040](https://github.com/bensheldon/good_job/pull/1040) ([steveroot](https://github.com/steveroot))
22
+
3
23
  ## [v3.17.2](https://github.com/bensheldon/good_job/tree/v3.17.2) (2023-08-10)
4
24
 
5
25
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.1...v3.17.2)
data/README.md CHANGED
@@ -473,7 +473,7 @@ GoodJob's concurrency control strategy for `perform_limit` is "optimistic retry
473
473
 
474
474
  ### Cron-style repeating/recurring jobs
475
475
 
476
- GoodJob can enqueue jobs on a recurring basis that can be used as a replacement for cron.
476
+ GoodJob can enqueue Active Job jobs on a recurring basis that can be used as a replacement for cron.
477
477
 
478
478
  Cron-style jobs can be performed by any GoodJob process (e.g., CLI or `:async` execution mode) that has `config.good_job.enable_cron` set to `true`. That is, one or more job executor processes can be configured to perform recurring jobs.
479
479
 
@@ -481,6 +481,8 @@ GoodJob's cron uses unique indexes to ensure that only a single job is enqueued
481
481
 
482
482
  Cron-format is parsed by the [`fugit`](https://github.com/floraison/fugit) gem, which has support for seconds-level resolution (e.g. `* * * * * *`) and natural language parsing (e.g. `every second`).
483
483
 
484
+ If you use the [Dashboard](#dashboard) the scheduled tasks can be viewed in the 'cron' menu. In this view you can also disable a task or run/enqueue a task immediately.
485
+
484
486
  ```ruby
485
487
  # config/environments/application.rb or a specific environment e.g. production.rb
486
488
 
@@ -492,10 +494,10 @@ config.good_job.cron = {
492
494
  # Every 15 minutes, enqueue `ExampleJob.set(priority: -10).perform_later(42, "life", name: "Alice")`
493
495
  frequent_task: { # each recurring job must have a unique key
494
496
  cron: "*/15 * * * *", # cron-style scheduling format by fugit gem
495
- class: "ExampleJob", # reference the Job class with a string
496
- args: [42, "life"], # positional arguments to pass; can also be a proc e.g. `-> { [Time.now] }`
497
- kwargs: { name: "Alice" }, # keyword arguments to pass; can also be a proc e.g. `-> { { name: NAMES.sample } }`
498
- set: { priority: -10 }, # additional ActiveJob properties; can also be a lambda/proc e.g. `-> { { priority: [1,2].sample } }`
497
+ class: "ExampleJob", # name of the job class as a String; must reference an Active Job job class
498
+ args: [42, "life"], # positional arguments to pass to the job; can also be a proc e.g. `-> { [Time.now] }`
499
+ kwargs: { name: "Alice" }, # keyword arguments to pass to the job; can also be a proc e.g. `-> { { name: NAMES.sample } }`
500
+ set: { priority: -10 }, # additional Active Job properties; can also be a lambda/proc e.g. `-> { { priority: [1,2].sample } }`
499
501
  description: "Something helpful", # optional description that appears in Dashboard
500
502
  },
501
503
  another_task: {
@@ -46,11 +46,13 @@ module GoodJob
46
46
  ready_sockets, = IO.select([@server], nil, nil, SOCKET_READ_TIMEOUT)
47
47
  next unless ready_sockets
48
48
 
49
- client = @server.accept_nonblock(exception: false)
49
+ client = @server.accept_nonblock
50
50
  request = client.gets
51
51
 
52
- status, headers, body = @app.call(parse_request(request))
53
- respond(client, status, headers, body)
52
+ if request
53
+ status, headers, body = @app.call(parse_request(request))
54
+ respond(client, status, headers, body)
55
+ end
54
56
 
55
57
  client.close
56
58
  rescue IO::WaitReadable, Errno::EINTR
@@ -2,7 +2,7 @@
2
2
 
3
3
  module GoodJob
4
4
  # GoodJob gem version.
5
- VERSION = '3.17.2'
5
+ VERSION = '3.17.3'
6
6
 
7
7
  # GoodJob version as Gem::Version object
8
8
  GEM_VERSION = Gem::Version.new(VERSION)
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.17.2
4
+ version: 3.17.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Sheldon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-08-10 00:00:00.000000000 Z
11
+ date: 2023-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob