lowkiq 1.2.0 → 1.2.1

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: 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: []