lowkiq 1.2.0 → 1.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: 31b5b7d70917347fd443b4486b997b5d282fe55906e0c5e9c9e2e0619fa8037e
4
- data.tar.gz: f609df71cb9709bea7141a7439f9e77a8fc6c1ef76b033a91758f36fc629f6a5
3
+ metadata.gz: 17cdb6368062bd5a178c3152fcacb7d8d0e390206c220f76b6940ddd79f0ac31
4
+ data.tar.gz: 46b6ac23e95ce8054799b4bae22c07b0375895274f69bdd494a9da882fc9e450
5
5
  SHA512:
6
- metadata.gz: 7489ef14cfdcb01ececd8642f0715797e3f4284b48da8ca5f6189a6ce962746f117d181f9020f052ac5c38d27195fddcea68adbfdc678966b2d797c0d49f4010
7
- data.tar.gz: cd6f3cc00871540775a457135c55d7e6a652f24d3768d7b794d0290a2336da32420384ef27b13ba57f4a762b9a8ea2b2f009b6d34c39de832dc5f2b14c0999fb
6
+ metadata.gz: a1d9f295b8b58a8412bba69dd4f162bbed17ce3a64d3543992af2397213db878a4f62953dfa1b9b888d2ffca41f7f56745015da6d78f791c553205d91f004377
7
+ data.tar.gz: c834e85f721561e632cea9923000128b02ccc6d7a3a9e4c29e99301577a1ff45950760df4bf621c68c92550ddc59763d86ae109851b7d298e499d3ee736cd961
data/README.md CHANGED
@@ -206,6 +206,12 @@ module ATestWorker
206
206
  10 * (count + 1) # (i.e. 10, 20, 30, 40, 50)
207
207
  end
208
208
 
209
+ def self.retries_exhausted(batch)
210
+ batch.each do |job|
211
+ Rails.logger.info "retries exhausted for #{name} with error #{job[:error]}"
212
+ end
213
+ end
214
+
209
215
  def self.perform(payloads_by_id)
210
216
  # payloads_by_id is a hash map
211
217
  payloads_by_id.each do |id, payloads|
@@ -492,6 +498,17 @@ Lowkiq.on_server_init = ->() do
492
498
  end
493
499
  ```
494
500
 
501
+ Note: In Rails 7, the worker files wouldn't be loaded by default in the initializers since they are managed by the `main` autoloader. To solve this, we can wrap setting the workers around the `to_prepare` configuration.
502
+
503
+ ```ruby
504
+ Rails.application.config.to_prepare do
505
+ Lowkiq.workers = [
506
+ ATestWorker,
507
+ OtherCoolWorker
508
+ ]
509
+ end
510
+ ```
511
+
495
512
  Execution: `bundle exec lowkiq -r ./config/environment.rb`
496
513
 
497
514
 
@@ -40,6 +40,7 @@ module Lowkiq
40
40
  @queue.push_back back
41
41
  @queue.push_to_morgue morgue
42
42
  @queue.ack @shard_index, data, :fail
43
+ @worker.retries_exhausted morgue
43
44
  false
44
45
  end
45
46
  end
@@ -1,3 +1,3 @@
1
1
  module Lowkiq
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
data/lib/lowkiq/worker.rb CHANGED
@@ -18,6 +18,10 @@ module Lowkiq
18
18
  (retry_count ** 4) + 15 + (rand(30) * (retry_count + 1))
19
19
  end
20
20
 
21
+ def retries_exhausted(batch)
22
+ # no-op
23
+ end
24
+
21
25
  def perform(payload)
22
26
  fail "not implemented"
23
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lowkiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikhail Kuzmin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-15 00:00:00.000000000 Z
11
+ date: 2022-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -200,7 +200,7 @@ licenses:
200
200
  - LGPL
201
201
  - EULA
202
202
  metadata: {}
203
- post_install_message:
203
+ post_install_message:
204
204
  rdoc_options: []
205
205
  require_paths:
206
206
  - lib
@@ -215,8 +215,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
215
215
  - !ruby/object:Gem::Version
216
216
  version: '0'
217
217
  requirements: []
218
- rubygems_version: 3.2.22
219
- signing_key:
218
+ rubygems_version: 3.3.11
219
+ signing_key:
220
220
  specification_version: 4
221
221
  summary: Lowkiq
222
222
  test_files: []