File tree Expand file tree Collapse file tree 10 files changed +64
-4
lines changed Expand file tree Collapse file tree 10 files changed +64
-4
lines changed Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ require "rake/testtask"
5
5
Rake ::TestTask . new ( :test ) do |t |
6
6
t . libs << "test"
7
7
t . libs << "lib"
8
- t . test_files = FileList [ "test/cases/*_test.rb" ]
8
+ t . test_files = FileList [ "test/cases/**/* _test.rb" ]
9
9
t . verbose = false
10
10
t . warning = false
11
11
end
Original file line number Diff line number Diff line change 44
44
- FIFO: 256 KB??
45
45
* Setting ` maxReceiveCount ` hard codes your retries to -1 of that value at the queue level.
46
46
47
+ Q: How do I handle job priorities?
48
+ A: Use different queues.
49
+
50
+
47
51
## Our Siqekiq Interfaces
48
52
49
53
``` ruby
@@ -61,6 +65,14 @@ DO I MIRROR or MIGRATE
61
65
62
66
## Migrating from Sidekiq
63
67
68
+ #### Change Worker
69
+
70
+ ``` ruby
71
+ class ApplicationJob < ActiveJob ::Base
72
+ include Sidekiq ::Worker
73
+ include Lambdakiq ::Worker
74
+ end
75
+ ```
64
76
65
77
#### Single Job
66
78
Original file line number Diff line number Diff line change 14
14
require 'lambdakiq/record'
15
15
require 'lambdakiq/backoff'
16
16
require 'lambdakiq/metrics'
17
+ require 'lambdakiq/worker'
17
18
require 'rails/railtie'
18
19
require 'lambdakiq/railtie'
19
20
Original file line number Diff line number Diff line change
1
+ module Lambdakiq
2
+ module Worker
3
+
4
+ end
5
+ end
Original file line number Diff line number Diff line change
1
+ require 'test_helper'
2
+
3
+ class BasicJobDelayTest < LambdakiqSpec
4
+ before do
5
+ TestHelper ::Jobs ::BasicJob . set ( wait : 5 . minutes ) . perform_later ( 'somework' )
6
+ expect ( sent_message ) . must_be :present?
7
+ end
8
+
9
+ it 'message attributes include `delay_seconds` since no wait was set' do
10
+ delay_seconds = sent_message_attributes [ 'delay_seconds' ]
11
+ expect ( delay_seconds ) . must_be :present?
12
+ expect ( delay_seconds [ :data_type ] ) . must_equal 'String'
13
+ expect ( delay_seconds [ :string_value ] ) . must_equal '300'
14
+ end
15
+ end
Original file line number Diff line number Diff line change
1
+ require 'test_helper'
2
+
3
+ class BasicJobNofifoDelayTest < LambdakiqSpec
4
+ before do
5
+ TestHelper ::Jobs ::BasicNofifoJob . set ( wait : 5 . minutes ) . perform_later ( 'somework' )
6
+ expect ( sent_message ) . must_be :present?
7
+ end
8
+
9
+ it 'uses default `delay_seconds` since non-FIFO queues support this natively' do
10
+ expect ( sent_message_params [ :delay_seconds ] ) . must_equal 300
11
+ end
12
+
13
+ it 'message attributes exclude `delay_seconds` since non-FIFO queues support this natively' do
14
+ delay_seconds = sent_message_attributes [ 'delay_seconds' ]
15
+ expect ( delay_seconds ) . must_be_nil
16
+ end
17
+ end
Original file line number Diff line number Diff line change 1
1
require 'test_helper'
2
2
3
- class BasicNofifoJobTest < LambdakiqSpec
3
+ class BasicJobNofifoTest < LambdakiqSpec
4
4
before do
5
5
TestHelper ::Jobs ::BasicNofifoJob . perform_later ( 'somework' )
6
+ expect ( sent_message ) . must_be :present?
6
7
end
7
8
8
9
it 'message body has no fifo queue nave vs fifo super class ' do
Original file line number Diff line number Diff line change @@ -19,6 +19,10 @@ class BasicJobTest < LambdakiqSpec
19
19
expect ( lambdakiq [ :string_value ] ) . must_equal '1'
20
20
end
21
21
22
+ it 'message attributes do not include `delay_seconds` since no wait was set' do
23
+ expect ( sent_message_attributes . key? ( 'delay_seconds' ) ) . must_equal false
24
+ end
25
+
22
26
it 'message group and deduplication id for default fifo queue are sent' do
23
27
expect ( sent_message_params [ :message_group_id ] ) . must_equal 'LambdakiqMessage'
24
28
expect ( sent_message_params [ :message_deduplication_id ] ) . must_be :present?
Original file line number Diff line number Diff line change 1
1
require 'test_helper'
2
2
3
3
class QueueTest < LambdakiqSpec
4
+ let ( :queue ) { Lambdakiq . client . queues [ queue_name ] }
5
+
6
+ it '#fifo?' do
7
+ expect ( queue . fifo? ) . must_equal true
8
+ end
9
+
4
10
it '#max_receive_count' do
5
- queue = Lambdakiq . client . queues [ queue_name ]
6
11
expect ( queue . max_receive_count ) . must_equal 8
7
12
end
8
13
end
Original file line number Diff line number Diff line change 1
1
module TestHelper
2
2
module Jobs
3
3
class BasicNofifoJob < ApplicationJob
4
- queue_as 'lambdakiq-JobsQueue-TESTING123'
4
+ queue_as ENV [ 'TEST_QUEUE_NAME' ] . sub ( '.fifo' , '' )
5
5
def perform ( object )
6
6
object
7
7
end
You can’t perform that action at this time.
0 commit comments