{AJS構築}15.1.8 待ち合わせ条件を使用するための設定

異なるジョブネットにあるユニット間の実行順序を,待ち合わせ条件を使用して制御

 

  • 物理ホスト

--1.動作確認用ジョブネット作成

vim unitbackup.txt

unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
el=jobnet2,n,+0+0;
el=jobnet3,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job11,j,+80+48;
el=job12,j,+240+48;
ar=(f=job11,t=job12,seq);
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
unit=job12,,jp1admin,;
{
ty=j;
cm="job2";
sc="/root/job2.sh";
un="root";
tho=0;
ex="mmm182";
}
}
unit=jobnet2,,jp1admin,;
{
ty=n;
cm="jobnet2";
sz=10x8;
el=job21,j,+80+48;
el=job22,j,+240+48;
ar=(f=job21,t=job22,seq);
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job21,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
unit=job22,,jp1admin,;
{
ty=j;
cm="job2";
sc="/root/job2.sh";
un="root";
tho=0;
ex="mmm182";
}
}
unit=jobnet3,,jp1admin,;
{
ty=n;
cm="jobnet3";
sz=10x8;
el=job31,j,+80+48;
el=job32,j,+240+48;
ar=(f=job31,t=job32,seq);
sd=1,2019/11/03;
st=1,23:58;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm182";
unit=job31,,jp1admin,;
{
ty=j;
cm="job1";
sc="/root/job1.sh";
un="root";
tho=0;
ex="mmm182";
}
unit=job32,,jp1admin,;
{
ty=j;
cm="job2";
sc="/root/job2.sh";
un="root";
tho=0;
ex="mmm182";
}
}
}

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsdefine -F AJSROOT1 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

--2. 待ち合わせ条件の有効化

/opt/jp1ajs2/bin/jajs_spmd_stop
/opt/jp1ajs2/bin/jajs_spmd_status


/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "PREWAITUSE"="yes"
/opt/jp1ajs2/bin/jajs_config -k "[JP1_DEFAULT\JP1AJSMANAGER\AJSROOT1]" "PREWAITEXTEND"="condition"

 

/opt/jp1ajs2/bin/jajs_spmd
/opt/jp1ajs2/bin/jajs_spmd_status

--3.動作確認
--3.1. jobnet1 → jobnet2 → jobnet3

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

→eun=待ち合わせ対象ユニット名; 追加


/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3


/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

 

 

--3.2. { jobnet1 and jobnet2 } → jobnet3


export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

→eun=待ち合わせ対象ユニット名; 追加


/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJSROOT1 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJSROOT1 -s /jg1/jobnet3


/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJSROOT1 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJSROOT1 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJSROOT1 "/*"

 

  • 論理ホスト

--1.動作確認用ジョブネット作成

vim unitbackup.txt

unit=jg1,,jp1admin,;
{
ty=g;
cm="jg1";
el=jobnet1,n,+0+0;
cl=su;
op=mo;
op=tu;
op=we;
op=th;
op=fr;
cl=sa;
unit=jobnet1,,jp1admin,;
{
ty=n;
cm="jobnet1";
sz=10x8;
el=job1,j,+240+144;
el=job2,j,+400+144;
ar=(f=job1,t=job2,seq);
sd=1,2019/11/03;
st=1,22:56;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job11,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
tho=0;
ex="mmm194";
}
unit=job12,,jp1admin,;
{
ty=j;
cm="job2";
te=" ";
sc="/mnt/sdc2/job2.sh";
tho=0;
ex="mmm194";
}
}
unit=jobnet2,,jp1admin,;
{
ty=n;
cm="jobnet2";
sz=10x8;
el=job1,j,+240+144;
el=job2,j,+400+144;
ar=(f=job1,t=job2,seq);
sd=1,2019/11/03;
st=1,22:56;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job21,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
tho=0;
ex="mmm194";
}
unit=job22,,jp1admin,;
{
ty=j;
cm="job2";
te=" ";
sc="/mnt/sdc2/job2.sh";
tho=0;
ex="mmm194";
}
}
unit=jobnet3,,jp1admin,;
{
ty=n;
cm="jobnet3";
sz=10x8;
el=job1,j,+240+144;
el=job2,j,+400+144;
ar=(f=job1,t=job2,seq);
sd=1,2019/11/03;
st=1,22:56;
cy=1,(1,d);
sh=1,ca;
shd=1,2;
ex="mmm194";
unit=job31,,jp1admin,;
{
ty=j;
cm="job1";
sc="/mnt/sdc2/job1.sh";
tho=0;
ex="mmm194";
}
unit=job32,,jp1admin,;
{
ty=j;
cm="job2";
te=" ";
sc="/mnt/sdc2/job2.sh";
tho=0;
ex="mmm194";
}
}
}

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsdefine -F AJS3SCHEDULE001 -f -d / /root/unitbackup.txt
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

--2. 待ち合わせ条件の有効化

/etc/opt/jp1ajs2/jajs_stop.cluster mmm190
/opt/jp1ajs2/bin/jajs_spmd_status -h mmm190


/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1AJSMANAGER\AJS3SCHEDULE001]" "PREWAITUSE"="yes"
/opt/jp1ajs2/bin/jajs_config -k "[mmm190\JP1AJSMANAGER\AJS3SCHEDULE001]" "PREWAITEXTEND"="condition"


/etc/opt/jp1ajs2/jajs_start.cluster mmm190
/opt/jp1ajs2/bin/jajs_spmd_status -h mmm190


--3.動作確認
--3.1. jobnet1 → jobnet2 → jobnet3

export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

→eun=待ち合わせ対象ユニット名; 追加


/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3


/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

--3.2. { jobnet1 and jobnet2 } → jobnet3


export JP1_USERNAME=jp1admin
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet2 /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qm and -Qn n -Qu /jg1/jobnet1 /jg1/jobnet3
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

→eun=待ち合わせ対象ユニット名; 追加


/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet3
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3

/opt/jp1ajs2/bin/ajsentry -F AJS3SCHEDULE001 -n /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet1
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet2
/opt/jp1ajs2/bin/ajsshow -F AJS3SCHEDULE001 -s /jg1/jobnet3


/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet1
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet2
/opt/jp1ajs2/bin/ajsleave -F AJS3SCHEDULE001 /jg1/jobnet3

/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet3
/opt/jp1ajs2/bin/ajschange -F AJS3SCHEDULE001 -Qz /jg1/jobnet2
/opt/jp1ajs2/bin/ajsprint -F AJS3SCHEDULE001 "/*"

 

 

--4. 待機系への反映
--マネージャ

共通定義情報の出力
/opt/jp1base/bin/jbsgetcnf -h mmm190 > /root/jbscnf.txt
scp /root/jbscnf.txt mmm192:/root

共通定義情報の取り込み
ssh mmm192 "/opt/jp1base/bin/jbssetcnf /root/jbscnf.txt"