octokiq 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -1
- data/lib/octokiq/configuration.rb +3 -1
- data/lib/octokiq/server.rb +9 -7
- data/lib/octokiq/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f28e37cf9c233c23e2bd805a66f09499ab4f7076e8a6275576aa119c3f16f374
|
4
|
+
data.tar.gz: 12a6f510c04659f8bb636bf3e1f687efb798c8a365ef227c4b0a5ba3d2082848
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 343e6dbfb7161aa9dbf0aee8006176073f814d838d2387127e99a498cba5dabc42b7df1b632687486382e4caebd509b3296020492eb4943c1bf01f71df990282
|
7
|
+
data.tar.gz: 92f38623fec01098154151acf6d13af9210cd117185871d2372cf25d246d704cf4202d5f985233f039caa70ba88b1207c2ff8488eb87a7b64db13acc713e8d61
|
data/CHANGELOG.md
CHANGED
@@ -7,4 +7,9 @@ Initial release 🚀
|
|
7
7
|
## 0.1.1 - 2020-12-30
|
8
8
|
|
9
9
|
- Replace worker class configuration `queue` with `octokiq_options`
|
10
|
-
- Enable non-ractor safe job running with traditional `Thread`
|
10
|
+
- Enable non-ractor safe job running with traditional `Thread`
|
11
|
+
|
12
|
+
## 0.1.2 - 2020-12-30
|
13
|
+
|
14
|
+
- Fix the ractor server loop bug
|
15
|
+
- Add configuration `force_thread_mode`
|
@@ -3,13 +3,15 @@ module Octokiq
|
|
3
3
|
attr_accessor :processors_count,
|
4
4
|
:queue_prefix,
|
5
5
|
:default_queue,
|
6
|
-
:queues
|
6
|
+
:queues,
|
7
|
+
:force_thread_mode
|
7
8
|
|
8
9
|
def initialize
|
9
10
|
@processors_count = Etc.nprocessors
|
10
11
|
@queue_prefix = 'octokiq'
|
11
12
|
@default_queue = 'default'
|
12
13
|
@queues = [@default_queue]
|
14
|
+
@force_thread_mode = false
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
data/lib/octokiq/server.rb
CHANGED
@@ -6,7 +6,7 @@ module Octokiq
|
|
6
6
|
|
7
7
|
loop do
|
8
8
|
job = Octokiq.server_connection.fetch(queues)
|
9
|
-
pipe << job
|
9
|
+
Octokiq.configuration.force_thread_mode ? tube << job : pipe << job
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -15,12 +15,14 @@ module Octokiq
|
|
15
15
|
def handle_pipe
|
16
16
|
(1..Octokiq.configuration.processors_count).map do
|
17
17
|
Ractor.new(pipe, tube) do |pipe, tube|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
loop do
|
19
|
+
job = pipe.take
|
20
|
+
begin
|
21
|
+
Processor.new(job).run
|
22
|
+
rescue Ractor::IsolationError => e
|
23
|
+
Octokiq.logger.warn 'Ractor::IsolationError'
|
24
|
+
tube << job
|
25
|
+
end
|
24
26
|
end
|
25
27
|
end
|
26
28
|
end
|
data/lib/octokiq/version.rb
CHANGED