drbqs 0.0.19 → 0.1.0
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 +7 -0
- data/docs/TestProfiler.md +30 -0
- data/drbqs.gemspec +2 -1
- data/{example → examples}/README.md +0 -0
- data/{example → examples}/command/server_def.rb +1 -1
- data/{example → examples}/error_server/error.rb +0 -0
- data/{example → examples}/error_server/server_def.rb +0 -0
- data/{example → examples}/error_task/error.rb +0 -0
- data/{example → examples}/error_task/server_def.rb +1 -1
- data/examples/execute/README.md +7 -0
- data/examples/execute/execute.rb +10 -0
- data/examples/execute/server.rb +27 -0
- data/{example/sum → examples/execute}/sum.rb +0 -0
- data/{example → examples}/group/execute.rb +5 -2
- data/{example → examples}/group/server.rb +0 -0
- data/{example → examples}/group/sum.rb +0 -0
- data/{example → examples}/mandelbrot/README.md +0 -0
- data/{example → examples}/mandelbrot/execute.rb +4 -1
- data/{example → examples}/mandelbrot/mandelbrot.rb +0 -0
- data/{example → examples}/mandelbrot/server.rb +0 -0
- data/examples/server/server.rb +20 -0
- data/{example → examples}/simple/README.md +0 -0
- data/{example → examples}/simple/execute.rb +0 -0
- data/{example → examples}/simple/server.rb +0 -0
- data/{example → examples}/simple/task.rb +0 -0
- data/{example → examples}/sum/server_def.rb +5 -1
- data/examples/sum/sum.rb +10 -0
- data/{example → examples}/sum2/execute_def.rb +0 -0
- data/{example → examples}/sum2/server_def.rb +3 -4
- data/{example → examples}/sum2/sum.rb +0 -0
- data/{example → examples}/transfer/file.rb +0 -0
- data/{example → examples}/transfer/server_def.rb +0 -0
- data/lib/drbqs.rb +5 -0
- data/lib/drbqs/command_line/command_execute.rb +1 -0
- data/lib/drbqs/command_line/command_server.rb +1 -1
- data/lib/drbqs/config/process_list.rb +9 -7
- data/lib/drbqs/execute/process_define.rb +109 -18
- data/lib/drbqs/execute/register.rb +41 -33
- data/lib/drbqs/ext/task/command_task.rb +20 -17
- data/lib/drbqs/node/connection.rb +1 -2
- data/lib/drbqs/node/node.rb +3 -4
- data/lib/drbqs/server/server.rb +9 -3
- data/lib/drbqs/setting/base.rb +1 -0
- data/lib/drbqs/setting/data_container.rb +2 -2
- data/lib/drbqs/setting/execute.rb +9 -2
- data/lib/drbqs/setting/node.rb +7 -1
- data/lib/drbqs/setting/server.rb +4 -1
- data/lib/drbqs/task/registrar.rb +1 -2
- data/lib/drbqs/utility/misc.rb +6 -1
- data/lib/drbqs/utility/temporary.rb +27 -34
- data/lib/drbqs/version.rb +1 -1
- data/lib/drbqs/worker/worker_process_set.rb +3 -1
- data/spec/command_line/command_base_spec.rb +2 -2
- data/spec/config/config_spec.rb +5 -4
- data/spec/config/ssh_host_spec.rb +1 -1
- data/spec/execute/process_define_spec.rb +65 -18
- data/spec/execute/register_spec.rb +31 -9
- data/spec/ext/task/command_task_spec.rb +3 -5
- data/spec/integration_test/09_server_process_data_spec.rb +1 -1
- data/spec/node/node_spec.rb +3 -3
- data/spec/node/task_client_spec.rb +10 -10
- data/spec/server/history_spec.rb +22 -10
- data/spec/server/queue_spec.rb +11 -11
- data/spec/server/server_spec.rb +2 -2
- data/spec/server/transfer_setting_spec.rb +1 -1
- data/spec/setting/source_spec.rb +11 -10
- data/spec/task/task_spec.rb +5 -5
- data/spec/utility/misc_spec.rb +1 -1
- data/spec/utility/temporary_spec.rb +1 -7
- data/spec/utility/transfer/transfer_client_connect_spec.rb +4 -4
- data/spec/utility/transfer/transfer_file_list_spec.rb +2 -2
- data/spec/utility/transfer/transfer_spec.rb +23 -8
- metadata +108 -70
- data/example/execute/execute.rb +0 -41
- data/example/execute/server.rb +0 -14
- data/example/execute/task.rb +0 -0
- data/example/server/server.rb +0 -11
@@ -2,39 +2,40 @@ require 'tmpdir'
|
|
2
2
|
|
3
3
|
module DRbQS
|
4
4
|
module Temporary
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
@root = nil
|
6
|
+
@pid = nil
|
7
|
+
@subdir = nil
|
8
|
+
@filename = nil
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
# Return root of temporary directory.
|
11
|
+
def self.root
|
12
|
+
if @pid != Process.pid
|
13
|
+
@pid = Process.pid
|
14
|
+
@root = File.join(Dir.tmpdir, sprintf("drbqs_%s_%d_%d", ENV['USER'], @pid, rand(10000)))
|
15
|
+
FileUtils.mkdir_p(@root, :mode => 0700)
|
14
16
|
end
|
17
|
+
@root
|
15
18
|
end
|
16
19
|
|
17
20
|
def self.set_sub_directory(dir)
|
18
|
-
|
19
|
-
|
20
|
-
@@subdir = File.join(@@root, dir)
|
21
|
+
@filename = nil
|
22
|
+
@subdir = File.join(self.root, dir)
|
21
23
|
end
|
22
24
|
|
23
25
|
def self.subdirectory
|
24
|
-
|
26
|
+
@subdir && File.exist?(@subdir) ? @subdir : nil
|
25
27
|
end
|
26
28
|
|
27
29
|
# Return FileName object to generate names of temporary files on DRbQS nodes.
|
28
30
|
def self.filename
|
29
|
-
unless
|
30
|
-
|
31
|
-
|
32
|
-
@@filename = FileName.new(File.join(@@subdir, sprintf("temp_%d", rand(10000))))
|
31
|
+
unless @filename
|
32
|
+
if @subdir
|
33
|
+
@filename = FileName.new(File.join(@subdir, sprintf("temp_%d", rand(10000))))
|
33
34
|
else
|
34
|
-
|
35
|
+
@filename = FileName.new(File.join(self.root, sprintf("temp_%d", rand(10000))))
|
35
36
|
end
|
36
37
|
end
|
37
|
-
|
38
|
+
@filename
|
38
39
|
end
|
39
40
|
|
40
41
|
# Create new temporary directory and return the path of directory.
|
@@ -52,26 +53,18 @@ module DRbQS
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
|
55
|
-
# Make root of temporary directory empty.
|
56
|
-
def self.delete
|
57
|
-
if @@root
|
58
|
-
FileUtils.rm_r(@@root)
|
59
|
-
FileUtils.mkdir_p(@@root, :mode => 0700)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
56
|
# Delete all temporary directory.
|
64
|
-
def self.
|
65
|
-
if
|
66
|
-
FileUtils.rm_r(
|
67
|
-
|
68
|
-
|
57
|
+
def self.delete
|
58
|
+
if @root
|
59
|
+
FileUtils.rm_r(@root)
|
60
|
+
@pid = nil
|
61
|
+
@root = nil
|
62
|
+
@filename = nil
|
69
63
|
end
|
70
64
|
end
|
71
65
|
|
72
|
-
|
73
|
-
|
74
|
-
@@root
|
66
|
+
def self.socket_path
|
67
|
+
FileName.create(self.root, "socket", :add => :always, :type => :time)
|
75
68
|
end
|
76
69
|
end
|
77
70
|
end
|
data/lib/drbqs/version.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'drbqs/worker/serialize'
|
2
2
|
require 'drbqs/worker/forked_process'
|
3
|
-
require 'drbqs/utility/temporary.rb'
|
4
3
|
|
5
4
|
module DRbQS
|
6
5
|
class Worker
|
@@ -160,6 +159,9 @@ module DRbQS
|
|
160
159
|
data << h[:in].read_nonblock(READ_BYTE_SIZE)
|
161
160
|
end
|
162
161
|
rescue IO::WaitReadable
|
162
|
+
rescue
|
163
|
+
$stderr.puts "Stored data: " + data.inspect
|
164
|
+
raise
|
163
165
|
end
|
164
166
|
if !data.empty?
|
165
167
|
num += 1
|
@@ -5,7 +5,7 @@ require 'drbqs/command_line/command_line'
|
|
5
5
|
describe DRbQS::Command::Base do
|
6
6
|
context "when executing" do
|
7
7
|
it "should execute." do
|
8
|
-
setting =
|
8
|
+
setting = double('setting')
|
9
9
|
DRbQS::Setting::Base.stub(:new).and_return(setting)
|
10
10
|
setting.should_receive(:parse!)
|
11
11
|
setting.should_receive(:exec).with($stdout)
|
@@ -16,7 +16,7 @@ describe DRbQS::Command::Base do
|
|
16
16
|
|
17
17
|
it "should define DRbQS::Command::Base.exec." do
|
18
18
|
argv = [1, 2, 3]
|
19
|
-
obj =
|
19
|
+
obj = double
|
20
20
|
DRbQS::Command::Base.should_receive(:new).and_return(obj)
|
21
21
|
obj.should_receive(:parse_option)
|
22
22
|
obj.should_receive(:exec)
|
data/spec/config/config_spec.rb
CHANGED
@@ -3,10 +3,11 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
3
3
|
describe DRbQS::Config do
|
4
4
|
before(:all) do
|
5
5
|
FileUtils.mkdir_p(HOME_FOR_SPEC)
|
6
|
+
@config = DRbQS::Config.new
|
6
7
|
end
|
7
8
|
|
8
9
|
subject do
|
9
|
-
|
10
|
+
@config
|
10
11
|
end
|
11
12
|
|
12
13
|
context "when setting new homedirectory" do
|
@@ -33,14 +34,14 @@ describe DRbQS::Config do
|
|
33
34
|
|
34
35
|
it "should get directory existing." do
|
35
36
|
lambda do
|
36
|
-
|
37
|
+
DRbQS::Config.new
|
37
38
|
end.should change { File.exist?(@dir) }.from(false).to(true)
|
38
39
|
end
|
39
40
|
end
|
40
41
|
|
41
42
|
context "when saving samples" do
|
42
43
|
before(:all) do
|
43
|
-
|
44
|
+
@config.save_sample
|
44
45
|
end
|
45
46
|
|
46
47
|
it "should get sample of ACL file." do
|
@@ -58,7 +59,7 @@ describe DRbQS::Config do
|
|
58
59
|
|
59
60
|
context "when managing ACL file" do
|
60
61
|
before(:all) do
|
61
|
-
@path =
|
62
|
+
@path = @config.directory.file_path('acl.txt')
|
62
63
|
FileUtils.rm(@path) if File.exist?(@path)
|
63
64
|
end
|
64
65
|
|
@@ -8,13 +8,14 @@ describe DRbQS::ProcessDefinition do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
context "when creating without default process names" do
|
11
|
-
|
12
|
-
DRbQS::ProcessDefinition.new(nil, nil, nil)
|
11
|
+
before(:all) do
|
12
|
+
@process_def = DRbQS::ProcessDefinition.new(nil, nil, nil)
|
13
|
+
@process_def.load(definition_file('execute1.rb'))
|
14
|
+
@info = @process_def.information
|
13
15
|
end
|
14
16
|
|
15
|
-
|
16
|
-
|
17
|
-
@info = subject.information
|
17
|
+
subject do
|
18
|
+
@process_def
|
18
19
|
end
|
19
20
|
|
20
21
|
it "should get server list." do
|
@@ -68,13 +69,14 @@ describe DRbQS::ProcessDefinition do
|
|
68
69
|
end
|
69
70
|
|
70
71
|
context "when there is no definition" do
|
71
|
-
|
72
|
-
DRbQS::ProcessDefinition.new(nil, nil, nil)
|
72
|
+
before(:all) do
|
73
|
+
@process_def = DRbQS::ProcessDefinition.new(nil, nil, nil)
|
74
|
+
@process_def.load(definition_file('no_def.rb'))
|
75
|
+
@info = @process_def.information
|
73
76
|
end
|
74
77
|
|
75
|
-
|
76
|
-
|
77
|
-
@info = subject.information
|
78
|
+
subject do
|
79
|
+
@process_def
|
78
80
|
end
|
79
81
|
|
80
82
|
it "should get server list." do
|
@@ -117,9 +119,9 @@ describe DRbQS::ProcessDefinition do
|
|
117
119
|
@tmp = '/tmp/drbqs_tmp_log' # defined in execute1.rb
|
118
120
|
@process_def = DRbQS::ProcessDefinition.new(nil, nil, @port)
|
119
121
|
@process_def.load(definition_file('execute1.rb'))
|
120
|
-
@server_setting =
|
121
|
-
@node_local_setting =
|
122
|
-
@node_ssh_setting =
|
122
|
+
@server_setting = @process_def.__send__(:get_server_setting)[1][:setting]
|
123
|
+
@node_local_setting = @process_def.__send__(:get_node_data, :node_local)[:setting]
|
124
|
+
@node_ssh_setting = @process_def.__send__(:get_node_data, :node_ssh)[:setting]
|
123
125
|
end
|
124
126
|
|
125
127
|
subject do
|
@@ -153,8 +155,8 @@ describe DRbQS::ProcessDefinition do
|
|
153
155
|
@tmp = '/tmp/drbqs_tmp_log' # defined in execute1.rb
|
154
156
|
@process_def = DRbQS::ProcessDefinition.new(nil, [:node_local], nil)
|
155
157
|
@process_def.load(definition_file('execute1.rb'))
|
156
|
-
@server_setting =
|
157
|
-
@node_local_setting =
|
158
|
+
@server_setting = @process_def.__send__(:get_server_setting)[1][:setting]
|
159
|
+
@node_local_setting = @process_def.__send__(:get_node_data, :node_local)[:setting]
|
158
160
|
end
|
159
161
|
|
160
162
|
subject do
|
@@ -186,9 +188,9 @@ describe DRbQS::ProcessDefinition do
|
|
186
188
|
@tmp = '/tmp/drbqs_tmp_log' # defined in execute1.rb
|
187
189
|
@process_def = DRbQS::ProcessDefinition.new(nil, nil, nil)
|
188
190
|
@process_def.load(definition_file('execute2.rb'))
|
189
|
-
@server_setting =
|
190
|
-
@node_local_setting =
|
191
|
-
@node_ssh_setting =
|
191
|
+
@server_setting = @process_def.__send__(:get_server_setting)[1][:setting]
|
192
|
+
@node_local_setting = @process_def.__send__(:get_node_data, :node_local)[:setting]
|
193
|
+
@node_ssh_setting = @process_def.__send__(:get_node_data, :node_ssh)[:setting]
|
192
194
|
end
|
193
195
|
|
194
196
|
subject do
|
@@ -201,4 +203,49 @@ describe DRbQS::ProcessDefinition do
|
|
201
203
|
subject.execute_node
|
202
204
|
end
|
203
205
|
end
|
206
|
+
|
207
|
+
|
208
|
+
context "when testing consistency" do
|
209
|
+
before(:each) do
|
210
|
+
@process_def = DRbQS::ProcessDefinition.new(nil, nil, nil)
|
211
|
+
end
|
212
|
+
|
213
|
+
subject do
|
214
|
+
@process_def
|
215
|
+
end
|
216
|
+
|
217
|
+
it "should not raise error" do
|
218
|
+
subject.register.default(:server => :server_existent)
|
219
|
+
subject.register.server(:server_existent, "example.com") do |server, ssh|
|
220
|
+
end
|
221
|
+
lambda do
|
222
|
+
subject.test_consistency
|
223
|
+
end.should_not raise_error
|
224
|
+
end
|
225
|
+
|
226
|
+
it "should should raise error" do
|
227
|
+
subject.register.default(:server => :server_non_existent)
|
228
|
+
lambda do
|
229
|
+
subject.test_consistency
|
230
|
+
end.should_not raise_error
|
231
|
+
end
|
232
|
+
|
233
|
+
it "should not raise error" do
|
234
|
+
subject.register.default(:node => [:node1, :node2])
|
235
|
+
subject.register.node(:node1) do |node|
|
236
|
+
end
|
237
|
+
subject.register.node(:node2) do |node|
|
238
|
+
end
|
239
|
+
lambda do
|
240
|
+
subject.test_consistency
|
241
|
+
end.should_not raise_error
|
242
|
+
end
|
243
|
+
|
244
|
+
it "should raise an error for non-existent node" do
|
245
|
+
subject.register.default(:node => [:node1, :node2])
|
246
|
+
lambda do
|
247
|
+
subject.test_consistency
|
248
|
+
end.should raise_error
|
249
|
+
end
|
250
|
+
end
|
204
251
|
end
|
@@ -42,7 +42,7 @@ describe DRbQS::ProcessDefinition::Register do
|
|
42
42
|
it "should raise error for arguments without hostname." do
|
43
43
|
load_file = 'file.rb'
|
44
44
|
lambda do
|
45
|
-
subject.server(:server3) do |server|
|
45
|
+
subject.server(:server3) do |server, ssh|
|
46
46
|
server.load load_file
|
47
47
|
end
|
48
48
|
end.should raise_error
|
@@ -78,6 +78,14 @@ describe DRbQS::ProcessDefinition::Register do
|
|
78
78
|
setting.get(:shell).should == [bash]
|
79
79
|
setting.mode_setting.get(:load).should == [load_file]
|
80
80
|
end
|
81
|
+
|
82
|
+
it "should raise an error for invalid keys" do
|
83
|
+
lambda do
|
84
|
+
subject.server(:server6, "example.com", :invalid_key => "Hello") do |server|
|
85
|
+
ssh.shell "bash"
|
86
|
+
end
|
87
|
+
end.should raise_error
|
88
|
+
end
|
81
89
|
end
|
82
90
|
|
83
91
|
context "when registering a node" do
|
@@ -158,6 +166,15 @@ describe DRbQS::ProcessDefinition::Register do
|
|
158
166
|
subject.node(:node_group, :group => :node_error)
|
159
167
|
end.should raise_error
|
160
168
|
end
|
169
|
+
|
170
|
+
it "should raise an error for invalid keys" do
|
171
|
+
uri = 'druby://:12345'
|
172
|
+
lambda do
|
173
|
+
subject.node(:node_error, :invalid_key => "Hello") do |node|
|
174
|
+
node.connect uri
|
175
|
+
end
|
176
|
+
end.should raise_error
|
177
|
+
end
|
161
178
|
end
|
162
179
|
|
163
180
|
context "when loading other server difinition" do
|
@@ -452,20 +469,25 @@ describe DRbQS::ProcessDefinition::Register do
|
|
452
469
|
h[:node].should == nodes
|
453
470
|
end
|
454
471
|
|
455
|
-
it "should set default value
|
456
|
-
subject.default(:log => '/tmp/drbqs/log'
|
472
|
+
it "should set default value of log file." do
|
473
|
+
subject.default(:log => '/tmp/drbqs/log')
|
457
474
|
h = subject.__default__
|
458
475
|
h[:log].should == '/tmp/drbqs/log'
|
459
|
-
h[:some_key].should == 'some_value'
|
460
476
|
end
|
461
477
|
|
462
478
|
it "should clear values." do
|
463
|
-
subject.default(
|
464
|
-
subject.default_clear(:
|
479
|
+
subject.default(:log => 'val1', :port => '12345', :server => :server1)
|
480
|
+
subject.default_clear(:log, :port)
|
465
481
|
h = subject.__default__
|
466
|
-
h[:
|
467
|
-
h[:
|
468
|
-
h[:
|
482
|
+
h[:log].should be_nil
|
483
|
+
h[:port].should be_nil
|
484
|
+
h[:server].should == :server1
|
485
|
+
end
|
486
|
+
|
487
|
+
it "should raise an error for invalid keys" do
|
488
|
+
lambda do
|
489
|
+
subject.default(:invalid_key => 'val1')
|
490
|
+
end.should raise_error
|
469
491
|
end
|
470
492
|
end
|
471
493
|
end
|
@@ -1,16 +1,14 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
|
-
require 'drbqs/ext/task'
|
4
|
-
|
5
3
|
describe DRbQS::CommandTask::CommandExecute do
|
6
4
|
it "should execute command" do
|
7
|
-
cmd_exec = DRbQS::CommandTask::CommandExecute.new('ls > /dev/null')
|
8
|
-
cmd_exec.exec.should == 0
|
5
|
+
cmd_exec = DRbQS::CommandTask::CommandExecute.new(['ls > /dev/null', "echo hello > /dev/null"])
|
6
|
+
cmd_exec.exec.should == [0, 0]
|
9
7
|
end
|
10
8
|
|
11
9
|
it "should enqueue files" do
|
12
10
|
DRbQS::Transfer.should_receive(:enqueue).exactly(2)
|
13
11
|
cmd_exec = DRbQS::CommandTask::CommandExecute.new('ls > /dev/null', :transfer => ['hello', 'world'])
|
14
|
-
cmd_exec.exec
|
12
|
+
cmd_exec.exec.should == [0]
|
15
13
|
end
|
16
14
|
end
|
data/spec/node/node_spec.rb
CHANGED
@@ -24,12 +24,12 @@ describe DRbQS::Node do
|
|
24
24
|
it "should connect to server." do
|
25
25
|
node_number = 10
|
26
26
|
DRb::DRbObject.should_receive(:new_with_uri).and_return(@drb_object)
|
27
|
-
node_connection =
|
27
|
+
node_connection = double('node connection')
|
28
28
|
node_connection.stub(:node_number).and_return(node_number)
|
29
29
|
node_connection.stub(:get_initialization).and_return(nil)
|
30
|
-
task_client =
|
30
|
+
task_client = double('task client')
|
31
31
|
task_client.stub(:node_number).and_return(node_number)
|
32
|
-
worker =
|
32
|
+
worker = double('worker')
|
33
33
|
worker.stub(:create_process)
|
34
34
|
worker.stub(:on_error)
|
35
35
|
worker.stub(:on_result)
|
@@ -108,7 +108,7 @@ describe DRbQS::Node::TaskClient do
|
|
108
108
|
@task_id = 3
|
109
109
|
@task_ary = [[1, 3, 5, 7], :size, []]
|
110
110
|
add_task_to_tuplespace(@task_id, @task_ary)
|
111
|
-
@get_task_id =
|
111
|
+
@get_task_id = @task_client.add_new_task(1)
|
112
112
|
end
|
113
113
|
|
114
114
|
it "should have non empty task queue." do
|
@@ -138,8 +138,8 @@ describe DRbQS::Node::TaskClient do
|
|
138
138
|
@task_id = 8
|
139
139
|
@task_ary = [[1, 3, 5, 7], :size, []]
|
140
140
|
add_task_to_tuplespace(@task_id, @task_ary)
|
141
|
-
@get_task_id =
|
142
|
-
@dequeued_task =
|
141
|
+
@get_task_id = @task_client.add_new_task(1)
|
142
|
+
@dequeued_task = @task_client.dequeue_task
|
143
143
|
end
|
144
144
|
|
145
145
|
it "should get a task" do
|
@@ -165,9 +165,9 @@ describe DRbQS::Node::TaskClient do
|
|
165
165
|
@task_id = 27
|
166
166
|
@task_ary = ["abcdef", :size, []]
|
167
167
|
add_task_to_tuplespace(@task_id, @task_ary)
|
168
|
-
@get_task_id =
|
169
|
-
@dequeued_task =
|
170
|
-
|
168
|
+
@get_task_id = @task_client.add_new_task(1)
|
169
|
+
@dequeued_task = @task_client.dequeue_task
|
170
|
+
@task_client.queue_result(1, :result_object)
|
171
171
|
end
|
172
172
|
|
173
173
|
it "should have empty task queue." do
|
@@ -189,10 +189,10 @@ describe DRbQS::Node::TaskClient do
|
|
189
189
|
@task_id = 28
|
190
190
|
@task_ary = ["abcdef", :size, []]
|
191
191
|
add_task_to_tuplespace(@task_id, @task_ary)
|
192
|
-
|
193
|
-
@dequeued_task =
|
194
|
-
|
195
|
-
@send_returned_value =
|
192
|
+
@task_client.add_new_task(1)
|
193
|
+
@dequeued_task = @task_client.dequeue_task
|
194
|
+
@task_client.queue_result(@task_id, :result_object)
|
195
|
+
@send_returned_value = @task_client.send_result
|
196
196
|
end
|
197
197
|
|
198
198
|
it "should get nil returned value." do
|