tengine_job 0.6.13 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -20
- data/Gemfile.lock +70 -72
- data/README.rdoc +2 -2
- data/bin/create_indexes_for_tengine_job +18 -0
- data/lib/tengine/job/connectable.rb +4 -4
- data/lib/tengine/job/drivers/job_execution_driver.rb +2 -2
- data/lib/tengine/job/drivers/jobnet_control_driver.rb +3 -3
- data/lib/tengine/job/drivers/schedule_driver.rb +12 -12
- data/lib/tengine/job/edge.rb +2 -2
- data/lib/tengine/job/expansion.rb +1 -1
- data/lib/tengine/job/jobnet.rb +12 -2
- data/lib/tengine/job/jobnet_actual.rb +29 -0
- data/lib/tengine/job/root_jobnet_actual.rb +20 -1
- data/lib/tengine/job/root_jobnet_template.rb +4 -4
- data/lib/tengine/job/signal.rb +1 -1
- data/lib/tengine/job/vertex.rb +10 -1
- metadata +130 -126
- data/.document +0 -5
- data/.rspec +0 -1
- data/Rakefile +0 -42
- data/VERSION +0 -1
- data/spec/fixtures/rjn_0001_simple_jobnet_builder.rb +0 -42
- data/spec/fixtures/rjn_0002_simple_parallel_jobnet_builder.rb +0 -42
- data/spec/fixtures/rjn_0003_fork_join_jobnet_builder.rb +0 -61
- data/spec/fixtures/rjn_0004_parallel_jobnet_with_finally_fixture.rb +0 -62
- data/spec/fixtures/rjn_0005_retry_two_layer_fixture.rb +0 -153
- data/spec/fixtures/rjn_0008_expansion_fixture.rb +0 -32
- data/spec/fixtures/rjn_0009_tree_sequential_jobnet_builder.rb +0 -174
- data/spec/fixtures/rjn_0010_2jobs_and_1job_parallel_jobnet_builder.rb +0 -39
- data/spec/fixtures/rjn_0011_nested_fork_jobnet_builder.rb +0 -96
- data/spec/fixtures/rjn_0012_nested_and_finally_builder.rb +0 -157
- data/spec/fixtures/rjn_1004_hadoop_job_in_jobnet_fixture.rb +0 -105
- data/spec/fixtures/rjn_means_root_jobnet +0 -0
- data/spec/fixtures/test_credential_fixture.rb +0 -12
- data/spec/fixtures/test_server_fixture.rb +0 -28
- data/spec/mongoid.yml +0 -35
- data/spec/spec_helper.rb +0 -58
- data/spec/sshd/.gitignore +0 -1
- data/spec/sshd/id_rsa +0 -51
- data/spec/sshd/id_rsa.pub +0 -1
- data/spec/sshd/ssh_host_rsa_key +0 -51
- data/spec/sshd/ssh_host_rsa_key.pub +0 -1
- data/spec/sshd/sshd_config +0 -10
- data/spec/sshd/sshd_config.erb +0 -11
- data/spec/sshd/tengine_job_test.sh +0 -6
- data/spec/support/jobnet_fixture_builder.rb +0 -145
- data/spec/support/mongo_index_key_log.rb +0 -91
- data/spec/tengine/job/category_spec.rb +0 -193
- data/spec/tengine/job/connectable_spec.rb +0 -94
- data/spec/tengine/job/drivers/job_controll_driver/connection_error_spec.rb +0 -236
- data/spec/tengine/job/drivers/job_controll_driver/duplicated_job_start_spec.rb +0 -302
- data/spec/tengine/job/drivers/job_controll_driver/expansion_spec.rb +0 -120
- data/spec/tengine/job/drivers/job_controll_driver/stop_spec.rb +0 -159
- data/spec/tengine/job/drivers/job_controll_driver_spec.rb +0 -740
- data/spec/tengine/job/drivers/job_execution_driver_spec.rb +0 -138
- data/spec/tengine/job/drivers/jobnet_control_driver/nested_and_finally_spec.rb +0 -472
- data/spec/tengine/job/drivers/jobnet_control_driver/nested_jobnet_spec.rb +0 -231
- data/spec/tengine/job/drivers/jobnet_control_driver/stop_jobnet_spec.rb +0 -202
- data/spec/tengine/job/drivers/jobnet_control_driver_spec.rb +0 -608
- data/spec/tengine/job/drivers/schedule_driver_spec.rb +0 -241
- data/spec/tengine/job/dsl_binder_spec.rb +0 -36
- data/spec/tengine/job/dsl_loader_spec.rb +0 -437
- data/spec/tengine/job/dsls/0013_hadoop_job_run.rb +0 -29
- data/spec/tengine/job/dsls/0014_join_and_join.rb +0 -19
- data/spec/tengine/job/dsls/0015_fork_and_fork.rb +0 -18
- data/spec/tengine/job/dsls/0016_complex_fork_and_join.rb +0 -20
- data/spec/tengine/job/dsls/0017_finally.rb +0 -15
- data/spec/tengine/job/dsls/0018_expansion.rb +0 -23
- data/spec/tengine/job/dsls/0019_execute_job_on_event.rb +0 -16
- data/spec/tengine/job/dsls/0020_duplicated_jobnet_name.rb +0 -16
- data/spec/tengine/job/dsls/0021_caption.rb +0 -13
- data/spec/tengine/job/dsls/1060_test_dir1/1060_test_dir2/0013_hadoop_job_run.rb +0 -29
- data/spec/tengine/job/dsls/2003_expansion/expansion_5.rb +0 -11
- data/spec/tengine/job/dsls/VERSION +0 -1
- data/spec/tengine/job/dynamic_env_spec.rb +0 -95
- data/spec/tengine/job/edge_spec.rb +0 -241
- data/spec/tengine/job/element_selector_notation_spec.rb +0 -354
- data/spec/tengine/job/examples_spec.rb +0 -62
- data/spec/tengine/job/execution_spec.rb +0 -100
- data/spec/tengine/job/expansion_spec.rb +0 -116
- data/spec/tengine/job/hadoop_job_run_spec.rb +0 -65
- data/spec/tengine/job/job_spec.rb +0 -4
- data/spec/tengine/job/jobnet/1015_complecated_jobnet_spec.rb +0 -72
- data/spec/tengine/job/jobnet_actual_spec.rb +0 -175
- data/spec/tengine/job/jobnet_spec.rb +0 -399
- data/spec/tengine/job/jobnet_template_spec.rb +0 -240
- data/spec/tengine/job/killing_spec.rb +0 -91
- data/spec/tengine/job/reset_spec.rb +0 -958
- data/spec/tengine/job/reset_spec/4056_1_dump.txt +0 -1
- data/spec/tengine/job/root_jobnet_actual_spec.rb +0 -89
- data/spec/tengine/job/root_jobnet_template_spec.rb +0 -248
- data/spec/tengine/job/script_executable_spec.rb +0 -132
- data/spec/tengine/job/stoppable_spec.rb +0 -176
- data/spec/tengine/job/vertex_spec.rb +0 -25
- data/spec/tengine_job_spec.rb +0 -4
- data/tengine_job.gemspec +0 -198
- data/tmp/log/.gitignore +0 -1
data/.document
DELETED
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
data/Rakefile
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
|
-
begin
|
6
|
-
Bundler.setup(:default, :development)
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
12
|
-
require 'rake'
|
13
|
-
|
14
|
-
require 'jeweler'
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
-
gem.name = "tengine_job"
|
18
|
-
gem.homepage = "http://github.com/tengine/tengine_job"
|
19
|
-
gem.license = "MPL2.0/LGPLv3"
|
20
|
-
gem.summary = %Q{tengine_job provides jobnet management}
|
21
|
-
gem.description = %Q{tengine_job provides jobnet management}
|
22
|
-
gem.email = "tengine-info@groovenauts.jp"
|
23
|
-
gem.authors = %w[taigou totty g-morita shyouhei akm guemon]
|
24
|
-
# dependencies defined in Gemfile
|
25
|
-
end
|
26
|
-
Jeweler::RubygemsDotOrgTasks.new
|
27
|
-
|
28
|
-
require 'rspec/core'
|
29
|
-
require 'rspec/core/rake_task'
|
30
|
-
RSpec::Core::RakeTask.new(:spec) do |spec|
|
31
|
-
spec.pattern = FileList['spec/**/*_spec.rb']
|
32
|
-
end
|
33
|
-
|
34
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
35
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
36
|
-
spec.rcov = true
|
37
|
-
end
|
38
|
-
|
39
|
-
task :default => :spec
|
40
|
-
|
41
|
-
require 'yard'
|
42
|
-
YARD::Rake::YardocTask.new
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.6.13
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
|
-
require File.expand_path('test_credential_fixture', File.dirname(__FILE__))
|
4
|
-
require File.expand_path('test_server_fixture', File.dirname(__FILE__))
|
5
|
-
|
6
|
-
# 以下のジョブネットについてテンプレートジョブネットや
|
7
|
-
# 実行用ジョブネットを扱うフィクスチャ生成のためのクラスです。
|
8
|
-
#
|
9
|
-
# in [rjn0001]
|
10
|
-
# (S1) --e1-->(j11)--e2-->(j12)--e3-->(E1)
|
11
|
-
|
12
|
-
class Rjn0001SimpleJobnetBuilder < JobnetFixtureBuilder
|
13
|
-
include TestCredentialFixture
|
14
|
-
include TestServerFixture
|
15
|
-
|
16
|
-
DSL = <<-EOS
|
17
|
-
jobnet("rjn0001", :server_name => "test_server1", :credential_name => "test_credential1") do
|
18
|
-
auto_sequence
|
19
|
-
job("j11", "job_test j11")
|
20
|
-
job("j12", "job_test j12")
|
21
|
-
end
|
22
|
-
EOS
|
23
|
-
|
24
|
-
def create(options = {})
|
25
|
-
root = new_root_jobnet("rjn0001", {
|
26
|
-
:server_name => test_server1.name,
|
27
|
-
:credential_name => test_credential1.name
|
28
|
-
}.update(options || { }))
|
29
|
-
root.children << Tengine::Job::Start.new
|
30
|
-
root.children << new_script("j11", :script => "job_test j11")
|
31
|
-
root.children << new_script("j12", :script => "job_test j12")
|
32
|
-
root.prepare_end
|
33
|
-
root.build_sequencial_edges
|
34
|
-
root.save!
|
35
|
-
self[:S1] = root.children[0]
|
36
|
-
self[:E1] = root.children[3]
|
37
|
-
self[:e1] = root.edges[0]
|
38
|
-
self[:e2] = root.edges[1]
|
39
|
-
self[:e3] = root.edges[2]
|
40
|
-
root
|
41
|
-
end
|
42
|
-
end
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# 以下のジョブネットについてテンプレートジョブネットや
|
3
|
-
# 実行用ジョブネットを扱うフィクスチャ生成のためのクラスです。
|
4
|
-
#
|
5
|
-
# in [rjn0002]
|
6
|
-
# |--e2-->(j11)--e4-->|
|
7
|
-
# (S1)--e1-->[F1] [J1]--e6-->(E1)
|
8
|
-
# |--e3-->(j12)--e5-->|
|
9
|
-
|
10
|
-
class Rjn0002SimpleParallelJobnetBuilder < JobnetFixtureBuilder
|
11
|
-
include TestCredentialFixture
|
12
|
-
include TestServerFixture
|
13
|
-
|
14
|
-
DSL = <<-EOS
|
15
|
-
jobnet("rjn0002", :server_name => "test_server1", :credential_name => "test_credential1") do
|
16
|
-
boot_jobs("j11", "j12")
|
17
|
-
job("j11", "job_test j11")
|
18
|
-
job("j12", "job_test j12")
|
19
|
-
end
|
20
|
-
EOS
|
21
|
-
|
22
|
-
def create(options = {})
|
23
|
-
root = new_root_jobnet("rjn0002", {
|
24
|
-
:server_name => test_server1.name,
|
25
|
-
:credential_name => test_credential1.name
|
26
|
-
}.update(options || { }))
|
27
|
-
root.children << new_start
|
28
|
-
root.children << new_fork
|
29
|
-
root.children << new_script("j11", :script => "job_test j11")
|
30
|
-
root.children << new_script("j12", :script => "job_test j12")
|
31
|
-
root.children << new_join
|
32
|
-
root.children << new_end
|
33
|
-
root.edges << new_edge(:S1, :F1)
|
34
|
-
root.edges << new_edge(:F1, :j11)
|
35
|
-
root.edges << new_edge(:F1, :j12)
|
36
|
-
root.edges << new_edge(:j11, :J1)
|
37
|
-
root.edges << new_edge(:j12, :J1)
|
38
|
-
root.edges << new_edge(:J1, :E1)
|
39
|
-
root.save!
|
40
|
-
root
|
41
|
-
end
|
42
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# 以下のジョブネットについてテンプレートジョブネットや
|
3
|
-
# 実行用ジョブネットを扱うフィクスチャ生成のためのクラスです。
|
4
|
-
#
|
5
|
-
# in [rjn0003]
|
6
|
-
# |--e7-->(j14)--e11-->(j16)--e14--->|
|
7
|
-
# |--e2-->(j11)--e4-->(j13)--e6-->[F2] |
|
8
|
-
# (S1)--e1-->[F1] |--e8-->[J1]--e12-->(j17)--e15-->[J2]--e16-->(E2)
|
9
|
-
# | |--e9-->[J1] |
|
10
|
-
# |--e3-->(j12)------e5---------->[F3] |
|
11
|
-
# |--e10---->(j15)---e13------------>|
|
12
|
-
class Rjn0003ForkJoinJobnetBuilder < JobnetFixtureBuilder
|
13
|
-
DSL = <<-EOS
|
14
|
-
jobnet("rjn0003") do
|
15
|
-
boot_jobs("j11", "j12")
|
16
|
-
job("j11", "job_test j11", :to => "j13")
|
17
|
-
job("j12", "job_test j12", :to => ["j15", "j17"])
|
18
|
-
job("j13", "job_test j13", :to => ["j14", "j17"])
|
19
|
-
job("j14", "job_test j14", :to => "j16")
|
20
|
-
job("j15", "job_test j15")
|
21
|
-
job("j16", "job_test j16")
|
22
|
-
job("j17", "job_test j17")
|
23
|
-
end
|
24
|
-
EOS
|
25
|
-
|
26
|
-
def create(options = {})
|
27
|
-
root = new_root_jobnet("rjn0003")
|
28
|
-
root.children << new_start
|
29
|
-
root.children << new_fork # F1
|
30
|
-
root.children << new_script("j11", :script => "job_test j11")
|
31
|
-
root.children << new_script("j12", :script => "job_test j12")
|
32
|
-
root.children << new_script("j13", :script => "job_test j13")
|
33
|
-
root.children << new_fork # F2
|
34
|
-
root.children << new_fork # F3
|
35
|
-
root.children << new_join # J1
|
36
|
-
root.children << new_script("j14", :script => "job_test j14")
|
37
|
-
root.children << new_script("j15", :script => "job_test j15")
|
38
|
-
root.children << new_script("j16", :script => "job_test j16")
|
39
|
-
root.children << new_script("j17", :script => "job_test j17")
|
40
|
-
root.children << new_join # J2
|
41
|
-
root.children << new_end
|
42
|
-
root.edges << new_edge(:S1 , :F1 ) # e1
|
43
|
-
root.edges << new_edge(:F1 , :j11) # e2
|
44
|
-
root.edges << new_edge(:F1 , :j12) # e3
|
45
|
-
root.edges << new_edge(:j11, :j13) # e4
|
46
|
-
root.edges << new_edge(:j12, :F3 ) # e5
|
47
|
-
root.edges << new_edge(:j13, :F2 ) # e6
|
48
|
-
root.edges << new_edge(:F2 , :j14) # e7
|
49
|
-
root.edges << new_edge(:F2 , :J1 ) # e8
|
50
|
-
root.edges << new_edge(:F3 , :J1 ) # e9
|
51
|
-
root.edges << new_edge(:F3 , :j15) # e10
|
52
|
-
root.edges << new_edge(:j14, :j16) # e11
|
53
|
-
root.edges << new_edge(:J1 , :j17) # e12
|
54
|
-
root.edges << new_edge(:j15 ,:J2 ) # e13
|
55
|
-
root.edges << new_edge(:j16 ,:J2 ) # e14
|
56
|
-
root.edges << new_edge(:j17 ,:J2 ) # e15
|
57
|
-
root.edges << new_edge(:J2 , :E1 ) # e16
|
58
|
-
root.save!
|
59
|
-
root
|
60
|
-
end
|
61
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# 以下のジョブネットについてテンプレートジョブネットや
|
3
|
-
# 実行用ジョブネットを扱うフィクスチャ生成のためのクラスです。
|
4
|
-
#
|
5
|
-
# in [jn0004]
|
6
|
-
# |--e3-->(j2)--e5-->|
|
7
|
-
# (S1)--e1-->(j1)--e2-->[F1] [J1]--e7-->(j4)--e8-->(E1)
|
8
|
-
# |--e4-->(j3)--e6-->|
|
9
|
-
#
|
10
|
-
# in [jn0004/finally]
|
11
|
-
# (S2) --e9-->(jn0004_f)-e10-->(E2)
|
12
|
-
|
13
|
-
class Rjn0004ParallelJobnetWithFinally < JobnetFixtureBuilder
|
14
|
-
include TestCredentialFixture
|
15
|
-
include TestServerFixture
|
16
|
-
|
17
|
-
DSL = <<-EOS
|
18
|
-
jobnet("jn0004", :instance_name => "test_server1", :credential_name => "test_credential1") do
|
19
|
-
boot_jobs("j1")
|
20
|
-
job("j1", "$HOME/0004_retry_one_layer.sh", :to => ["j2", "j3"])
|
21
|
-
job("j2", "$HOME/0004_retry_one_layer.sh", :to => "j4")
|
22
|
-
job("j3", "$HOME/0004_retry_one_layer.sh", :to => "j4")
|
23
|
-
job("j4", "$HOME/0004_retry_one_layer.sh")
|
24
|
-
finally do
|
25
|
-
job("jn0004_f", "$HOME/0004_retry_one_layer.sh")
|
26
|
-
end
|
27
|
-
end
|
28
|
-
EOS
|
29
|
-
|
30
|
-
def create(options = {})
|
31
|
-
root = new_root_jobnet("jn0004", {
|
32
|
-
:server_name => test_server1.name,
|
33
|
-
:credential_name => test_credential1.name
|
34
|
-
}.update(options || { }))
|
35
|
-
root.children << new_start
|
36
|
-
root.children << new_script("j1", :script => "$HOME/0004_retry_one_layer.sh")
|
37
|
-
root.children << new_fork
|
38
|
-
root.children << new_script("j2", :script => "$HOME/0004_retry_one_layer.sh")
|
39
|
-
root.children << new_script("j3", :script => "$HOME/0004_retry_one_layer.sh")
|
40
|
-
root.children << new_join
|
41
|
-
root.children << new_script("j4", :script => "$HOME/0004_retry_one_layer.sh")
|
42
|
-
root.children << new_finally
|
43
|
-
root.children << new_end
|
44
|
-
root.edges << new_edge(:S1, :j1)
|
45
|
-
root.edges << new_edge(:j1, :F1)
|
46
|
-
root.edges << new_edge(:F1, :j2)
|
47
|
-
root.edges << new_edge(:F1, :j3)
|
48
|
-
root.edges << new_edge(:j2, :J1)
|
49
|
-
root.edges << new_edge(:j3, :J1)
|
50
|
-
root.edges << new_edge(:J1, :j4)
|
51
|
-
root.edges << new_edge(:j4, :E1)
|
52
|
-
root.finally_vertex do |finally|
|
53
|
-
finally.children << new_start
|
54
|
-
finally.children << new_script("jn0004_f", :script => "$HOME/0004_retry_one_layer.sh")
|
55
|
-
finally.children << new_end
|
56
|
-
finally.edges << new_edge(:S2, :jn0004_f)
|
57
|
-
finally.edges << new_edge(:jn0004_f, :F2)
|
58
|
-
end
|
59
|
-
root.save!
|
60
|
-
root
|
61
|
-
end
|
62
|
-
end
|
@@ -1,153 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
|
-
require File.expand_path('test_credential_fixture', File.dirname(__FILE__))
|
4
|
-
require File.expand_path('test_server_fixture', File.dirname(__FILE__))
|
5
|
-
|
6
|
-
# 以下のジョブネットについてテンプレートジョブネットや
|
7
|
-
# 実行用ジョブネットを扱うフィクスチャ生成のためのクラスです。
|
8
|
-
#
|
9
|
-
# in [jn0005]
|
10
|
-
# |--e3-->(j2)--e5--->|
|
11
|
-
# (S1)--e1-->(j1)--e2-->[F1] [J1]-->e7-->(j4)--e8-->(E1)
|
12
|
-
# |--e4-->[jn4]--e6-->|
|
13
|
-
#
|
14
|
-
# in [jn0005/jn4]
|
15
|
-
# |--e11-->(j42)--e13-->|
|
16
|
-
# (S2)--e9-->(j41)--e10-->[F2] [J2]--e15-->(j44)--e16-->(E2)
|
17
|
-
# |--e12-->(j43)--e14-->|
|
18
|
-
#
|
19
|
-
# in [jn0005/jn4/finally]
|
20
|
-
# (S3)--e17-->(jn4_f)--e18-->(E3)
|
21
|
-
#
|
22
|
-
# in [jn0005/finally]
|
23
|
-
# (S4)--e19-->[jn0005_fjn]--e20-->(jn0005_f)--e21-->(E4)
|
24
|
-
#
|
25
|
-
# in [jn0005/finally/jn0005_fjn]
|
26
|
-
# (S5)--e22-->(jn0005_f1)--e23-->(jn0005_f1)--e24-->(E5)
|
27
|
-
#
|
28
|
-
# in [jn0005/finally/jn0005_fjn/finally]
|
29
|
-
# (S6)--e25-->(jn0005_fif)--e26-->(E6)
|
30
|
-
|
31
|
-
class Rjn0005RetryTwoLayerFixture < JobnetFixtureBuilder
|
32
|
-
include TestCredentialFixture
|
33
|
-
include TestServerFixture
|
34
|
-
|
35
|
-
DSL = <<-EOS
|
36
|
-
jobnet("jn0005", :instance_name => "test_server1", :credential_name => "test_credential1") do
|
37
|
-
boot_jobs("j1")
|
38
|
-
job("j1", "$HOME/0005_retry_two_layer.sh", :to => ["j2", "jn4"])
|
39
|
-
job("j2", "$HOME/0005_retry_two_layer.sh", :to => "j4")
|
40
|
-
jobnet("jn4", :to => "j4") do
|
41
|
-
boot_jobs("j41")
|
42
|
-
job("j41", "$HOME/0005_retry_two_layer.sh", :to => ["j42", "j43"])
|
43
|
-
job("j42", "$HOME/0005_retry_two_layer.sh", :to => "j44")
|
44
|
-
job("j43", "$HOME/0005_retry_two_layer.sh", :to => "j44")
|
45
|
-
job("j44", "$HOME/0005_retry_two_layer.sh")
|
46
|
-
finally do
|
47
|
-
job("jn4_f", "$HOME/0005_retry_two_layer.sh")
|
48
|
-
end
|
49
|
-
end
|
50
|
-
job("j4", "$HOME/0005_retry_two_layer.sh")
|
51
|
-
finally do
|
52
|
-
boot_jobs("jn0005_fjn")
|
53
|
-
jobnet("jn0005_fjn", :to => "jn0005_f") do
|
54
|
-
boot_jobs("jn0005_f1")
|
55
|
-
job("jn0005_f1", "$HOME/0005_retry_two_layer.sh", :to => ["jn0005_f2"])
|
56
|
-
job("jn0005_f2", "$HOME/0005_retry_two_layer.sh")
|
57
|
-
finally do
|
58
|
-
job("jn0005_fif","$HOME/0005_retry_two_layer.sh")
|
59
|
-
end
|
60
|
-
end
|
61
|
-
job("jn0005_f", "$HOME/0005_retry_two_layer.sh")
|
62
|
-
end
|
63
|
-
end
|
64
|
-
EOS
|
65
|
-
|
66
|
-
def create(options = {})
|
67
|
-
root = new_root_jobnet("jn0005", {
|
68
|
-
:server_name => test_server1.name,
|
69
|
-
:credential_name => test_credential1.name
|
70
|
-
}.update(options || { }))
|
71
|
-
# root
|
72
|
-
root.children << new_start
|
73
|
-
root.children << new_script("j1", :script => "$HOME/0005_retry_two_layer.sh")
|
74
|
-
root.children << new_fork
|
75
|
-
root.children << new_script("j2", :script => "$HOME/0005_retry_two_layer.sh")
|
76
|
-
root.children << new_jobnet("jn4")
|
77
|
-
root.children << new_join
|
78
|
-
root.children << new_script("j4", :script => "$HOME/0005_retry_two_layer.sh")
|
79
|
-
root.children << new_finally
|
80
|
-
root.children << new_end
|
81
|
-
root.edges << new_edge(:S1, :j1)
|
82
|
-
root.edges << new_edge(:j1, :F1)
|
83
|
-
root.edges << new_edge(:F1, :j2)
|
84
|
-
root.edges << new_edge(:F1, :jn4)
|
85
|
-
root.edges << new_edge(:j2, :J1)
|
86
|
-
root.edges << new_edge(:jn4, :J1)
|
87
|
-
root.edges << new_edge(:J1, :j4)
|
88
|
-
root.edges << new_edge(:j4, :E1)
|
89
|
-
|
90
|
-
self[:jn4].tap do |jn4|
|
91
|
-
jn4.children << new_start
|
92
|
-
jn4.children << new_script("j41", :script => "$HOME/0005_retry_two_layer.sh")
|
93
|
-
jn4.children << new_fork
|
94
|
-
jn4.children << new_script("j42", :script => "$HOME/0005_retry_two_layer.sh")
|
95
|
-
jn4.children << new_script("j43", :script => "$HOME/0005_retry_two_layer.sh")
|
96
|
-
jn4.children << new_join
|
97
|
-
jn4.children << new_script("j44", :script => "$HOME/0005_retry_two_layer.sh")
|
98
|
-
jn4.children << new_finally
|
99
|
-
jn4.children << new_end
|
100
|
-
jn4.edges << new_edge(:S2, :j41)
|
101
|
-
jn4.edges << new_edge(:j41, :F2)
|
102
|
-
jn4.edges << new_edge(:F2, :j42)
|
103
|
-
jn4.edges << new_edge(:F2, :j43)
|
104
|
-
jn4.edges << new_edge(:j42, :J2)
|
105
|
-
jn4.edges << new_edge(:j43, :J2)
|
106
|
-
jn4.edges << new_edge(:J2, :j44)
|
107
|
-
jn4.edges << new_edge(:j44, :E2)
|
108
|
-
|
109
|
-
self[:jn4f] = jn4.finally_vertex
|
110
|
-
self[:jn4f].tap do |jn4f|
|
111
|
-
jn4f.children << new_start
|
112
|
-
jn4f.children << new_script("jn4_f", :script => "$HOME/0005_retry_two_layer.sh")
|
113
|
-
jn4f.children << new_end
|
114
|
-
jn4f.edges << new_edge(:S3, :jn4_f)
|
115
|
-
jn4f.edges << new_edge(:jn4_f, :E3)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
self[:finally] = root.finally_vertex
|
120
|
-
self[:finally].tap do |finally|
|
121
|
-
finally.children << new_start
|
122
|
-
finally.children << new_jobnet("jn0005_fjn")
|
123
|
-
finally.children << new_script("jn0005_f", :script => "$HOME/0005_retry_two_layer.sh")
|
124
|
-
finally.children << new_end
|
125
|
-
finally.edges << new_edge(:S4, :jn0005_fjn)
|
126
|
-
finally.edges << new_edge(:jn0005_fjn, :jn0005_f)
|
127
|
-
finally.edges << new_edge(:jn0005_f, :E4)
|
128
|
-
|
129
|
-
self[:jn0005_fjn].tap do |jn0005_fjn|
|
130
|
-
jn0005_fjn.children << new_start
|
131
|
-
jn0005_fjn.children << new_script("jn0005_f1", :script => "$HOME/0005_retry_two_layer.sh")
|
132
|
-
jn0005_fjn.children << new_script("jn0005_f2", :script => "$HOME/0005_retry_two_layer.sh")
|
133
|
-
jn0005_fjn.children << new_finally
|
134
|
-
jn0005_fjn.children << new_end
|
135
|
-
jn0005_fjn.edges << new_edge(:S5, :jn0005_f1)
|
136
|
-
jn0005_fjn.edges << new_edge(:jn0005_f1, :jn0005_f2)
|
137
|
-
jn0005_fjn.edges << new_edge(:jn0005_f2, :E5)
|
138
|
-
|
139
|
-
self[:jn0005_fjn_f] = jn0005_fjn.finally_vertex
|
140
|
-
self[:jn0005_fjn_f].tap do |jn0005_fjn_f|
|
141
|
-
jn0005_fjn_f.children << new_start
|
142
|
-
jn0005_fjn_f.children << new_script("jn0005_fif", :script => "$HOME/0005_retry_two_layer.sh")
|
143
|
-
jn0005_fjn_f.children << new_end
|
144
|
-
jn0005_fjn_f.edges << new_edge(:S6, :jn0005_fif)
|
145
|
-
jn0005_fjn_f.edges << new_edge(:jn0005_fif, :E6)
|
146
|
-
end
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
root.save!
|
151
|
-
root
|
152
|
-
end
|
153
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# 以下のジョブネットについてテンプレートジョブネットや
|
3
|
-
# 実行用ジョブネットを扱うフィクスチャ生成のためのクラスです。
|
4
|
-
#
|
5
|
-
# in [rjn0008]
|
6
|
-
# (S1) --e1-->(rjn0001)--e2-->(rjn0002)--e3-->(E1)
|
7
|
-
|
8
|
-
class Rjn0008ExpansionFixture < JobnetFixtureBuilder
|
9
|
-
DSL = <<-EOS
|
10
|
-
jobnet("rjn0008") do
|
11
|
-
auto_sequence
|
12
|
-
expansion("rjn0001")
|
13
|
-
expansion("rjn0002")
|
14
|
-
end
|
15
|
-
EOS
|
16
|
-
|
17
|
-
def create(options = {})
|
18
|
-
root = new_root_jobnet("rjn0008", options)
|
19
|
-
root.children << Tengine::Job::Start.new
|
20
|
-
root.children << new_expansion("rjn0001")
|
21
|
-
root.children << new_expansion("rjn0002")
|
22
|
-
root.prepare_end
|
23
|
-
root.build_sequencial_edges
|
24
|
-
root.save!
|
25
|
-
self[:S1] = root.children[0]
|
26
|
-
self[:E1] = root.children[3]
|
27
|
-
self[:e1] = root.edges[0]
|
28
|
-
self[:e2] = root.edges[1]
|
29
|
-
self[:e3] = root.edges[2]
|
30
|
-
root
|
31
|
-
end
|
32
|
-
end
|