parallel_minion 0.4.0 → 0.4.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 +4 -4
- data/lib/parallel_minion/minion.rb +1 -1
- data/lib/parallel_minion/version.rb +1 -1
- data/test/minion_test.rb +31 -9
- data/test/test_db.sqlite3 +0 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 982df7415c5b0672c4a8c5d8aa6e32d31677a9b7
|
4
|
+
data.tar.gz: cc64cd982068008a6b233eb72339e11892dfee34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0ce188896ad20800f4727a02c71985efce109952e7ae1d51bf0e3e35b40928dccf4833b82e96fc9f6595153fde5f5777cbd9d366d2be535609322d4aa8c2551
|
7
|
+
data.tar.gz: b4a1c1f63c43f34e8c38d24ae4bb98347566cfceddb856824041541e1cb0eee1562aa4426cb7bbb746b2d43ef64583cc84b854921db1670cabd1d90c1db487f9
|
@@ -152,7 +152,7 @@ module ParallelMinion
|
|
152
152
|
logger.info("Started #{@description}")
|
153
153
|
|
154
154
|
begin
|
155
|
-
logger.benchmark_info("Completed #{@description}", log_exception: @log_exception) do
|
155
|
+
logger.benchmark_info("Completed #{@description}", log_exception: @log_exception, metric: @metric) do
|
156
156
|
# Use the current scope for the duration of the task execution
|
157
157
|
if scopes.nil? || (scopes.size == 0)
|
158
158
|
@result = instance_exec(*args, &block)
|
data/test/minion_test.rb
CHANGED
@@ -9,6 +9,11 @@ require 'parallel_minion'
|
|
9
9
|
SemanticLogger.default_level = :trace
|
10
10
|
SemanticLogger.add_appender('test.log', &SemanticLogger::Appender::Base.colorized_formatter) if SemanticLogger.appenders.size == 0
|
11
11
|
|
12
|
+
# Setup global callback for metric so that it can be tested below
|
13
|
+
SemanticLogger.on_metric do |log_struct|
|
14
|
+
$log_struct = log_struct.dup
|
15
|
+
end
|
16
|
+
|
12
17
|
# Test ParallelMinion standalone without Rails
|
13
18
|
# Run this test standalone to verify it has no Rails dependencies
|
14
19
|
class MinionTest < Test::Unit::TestCase
|
@@ -20,6 +25,7 @@ class MinionTest < Test::Unit::TestCase
|
|
20
25
|
context ".new with enabled: #{enabled.inspect}" do
|
21
26
|
setup do
|
22
27
|
ParallelMinion::Minion.enabled = enabled
|
28
|
+
$log_struct = nil
|
23
29
|
end
|
24
30
|
|
25
31
|
should 'without parameters' do
|
@@ -47,15 +53,15 @@ class MinionTest < Test::Unit::TestCase
|
|
47
53
|
end
|
48
54
|
end
|
49
55
|
|
50
|
-
# TODO Blocks still have access to their original scope if variables cannot be
|
51
|
-
# resolved first by the parameters, then by the values in Minion itself
|
52
|
-
# should 'not have access to local variables' do
|
53
|
-
# name = 'Jack'
|
54
|
-
# minion = ParallelMinion::Minion.new(description: 'Test') { puts name }
|
55
|
-
# assert_raise NameError do
|
56
|
-
# minion.result
|
57
|
-
# end
|
58
|
-
# end
|
56
|
+
# TODO Blocks still have access to their original scope if variables cannot be
|
57
|
+
# resolved first by the parameters, then by the values in Minion itself
|
58
|
+
# should 'not have access to local variables' do
|
59
|
+
# name = 'Jack'
|
60
|
+
# minion = ParallelMinion::Minion.new(description: 'Test') { puts name }
|
61
|
+
# assert_raise NameError do
|
62
|
+
# minion.result
|
63
|
+
# end
|
64
|
+
# end
|
59
65
|
|
60
66
|
should 'run minion' do
|
61
67
|
hash = { value: 23 }
|
@@ -81,6 +87,22 @@ class MinionTest < Test::Unit::TestCase
|
|
81
87
|
assert_equal 'TAG', minion.result
|
82
88
|
end
|
83
89
|
|
90
|
+
should 'include metric' do
|
91
|
+
metric_name = '/Custom/metric'
|
92
|
+
hash = { value: 23 }
|
93
|
+
value = 47
|
94
|
+
minion = ParallelMinion::Minion.new(hash, description: 'Test', metric: metric_name) do |h|
|
95
|
+
value = 321
|
96
|
+
h[:value] = 123
|
97
|
+
456
|
98
|
+
end
|
99
|
+
assert_equal 456, minion.result
|
100
|
+
assert_equal 123, hash[:value]
|
101
|
+
assert_equal 321, value
|
102
|
+
SemanticLogger.flush
|
103
|
+
assert_equal metric_name, $log_struct.metric
|
104
|
+
end
|
105
|
+
|
84
106
|
should 'handle multiple minions concurrently' do
|
85
107
|
# Start 10 minions
|
86
108
|
minions = 10.times.collect do |i|
|
data/test/test_db.sqlite3
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parallel_minion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-04-
|
11
|
+
date: 2014-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic_logger
|