pwork 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pwork/async.rb +12 -9
- 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: 0f4c565cd3cbbe417681e9a2b4a4809efe4423652af4f8ecaa7e7e989b87dabe
|
4
|
+
data.tar.gz: ef49af7bb9a4212bce14de2676345bc42fb6db16cda9b270d856344d66da6a58
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7201204d08a15b4fd655d4e92811dd0226ded7055b355a565acca60fd6250430e98d158310b0bd5df15edc009f0c746e59abcbf25f7aea88a42fa1762c4793d0
|
7
|
+
data.tar.gz: 2aa3d668f78be0fc8bd7e7c0a21e90010b4e2bc58a58dc7a0cbe0991546c16a3762697b8a4c111f7762551352e2f52a0a00a0a29dd6f8d077c12fa34bcd5f7aa
|
data/lib/pwork/async.rb
CHANGED
@@ -5,13 +5,20 @@ require_relative 'async/manager'
|
|
5
5
|
module PWork
|
6
6
|
module Async
|
7
7
|
def async(options = {}, &block)
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
case PWork::Async.mode
|
9
|
+
when 'fork'
|
10
|
+
PWork::Async.async_forked(options, &block)
|
11
|
+
when 'test'
|
12
|
+
PWork::Async.async_test(options, &block)
|
13
|
+
else
|
14
|
+
PWork::Async.async_threaded(options, &block)
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
18
|
+
def self.async_test(options = {}, &block)
|
19
|
+
block.call if block_given?
|
20
|
+
end
|
21
|
+
|
15
22
|
def self.async_forked(options = {}, &block)
|
16
23
|
if block_given?
|
17
24
|
pid = fork do
|
@@ -94,11 +101,7 @@ module PWork
|
|
94
101
|
end
|
95
102
|
|
96
103
|
def self.mode
|
97
|
-
|
98
|
-
'fork'
|
99
|
-
else
|
100
|
-
'thread'
|
101
|
-
end
|
104
|
+
ENV.fetch('PWORK_ASYNC_MODE', 'thread').to_s.downcase
|
102
105
|
end
|
103
106
|
|
104
107
|
def self.reset
|