|
アプリケーション運用スケジュール
|
選択したサーバーに対し、アプリケーション名・アプリケーションIDごとに運用スケジュールの設定を行います。
アプリケーション運用スケジュール
選択したサーバーに対し、アプリケーション名・アプリケーションIDごとに運用スケジュールの設定を行います。
運用スケジュールは1年中の任意の組み合わせで設定できます。
アプリケーション名・アプリケーションIDの両方でスケジュールの割り当てがされている場合は、アプリケーションIDの設定を優先的に参照します。
アプリケーション名はHTML内のNOMADAPPNAMEで、アプリケーションIDはHTML内でのDSMCGIAPPIDの設定値を指します。
スケジュール設定書式
各アプリケーションIDに割り振るスケジュール設定を行います。1年分のスケジューリングが可能で、一番小さいスケジュール単位は「分」です。「dsm.ini」に下記の書式で書き込みます。
DSM Ver5.0から、スケジュール設定は設定ファイル「dsm.ini」の[DRMSRV]セクションから[WKSCH]セクションに移動しました。
[WKSCH]
WkSch_AppID=WorkHour,WorkWday,WorkMday,WorkMon,SpecialDay
または
WkSch_AppName=WorkHour,WorkWday,WorkMday,WorkMon,SpecialDay
- AppIDの部分にアプリケーションID名を指定します。この部分は、アプリケーション名でもかまいません。
- 他の設定しているアプリケーションID名と同じ名前であってはいけません。
- 複数の日付をまとめて選択することも可能です。(ただし、WorkWdayとWorkMdayの同時指定はできません。)
- WorkHour、WorkWday、WorkMdayとWorkMonのどちらも、指定した時にその指定した時間(期間)内にAPPの稼動を許可すること、指定のない場合はその項目に対する運用上の制限がない(24時間、毎日)ことを意味します。
- SpecialDayは例外処理が必要な場合だけに設定するもので、それを指定した場合は、WorkHour、WorkWday、WorkMday、WorkMon設定の有無にかかわらず、無条件でその設定に従います。
- WorkHour書式(hh):hh-hh, hh:hh, hh.mm-hh.mm
|
範囲:(設定なし)
|
一日の00:00から23:59まで |
|
範囲指定:9-18
|
毎日の9:00 〜 18:59までの間 |
|
範囲指定:9.30-18.45
|
毎日の9:30 〜 18:45までの間 |
|
個別指定:10:13
|
毎日の10:00 〜 10:59と13:00 〜 13:59 |
「hh.mm-hh.mm」形式での、分を指定するフォーマットはDSM Ver5.0で追加されました。
例外設定(SpecialDay)の時間でも同様に分の指定ができます。
時間のみ指定する場合は、単独で「hh」または「hh:hh」のように設定することができます。
- WorkWday書式(ww):ww-ww, ww:ww
|
範囲:(設定なし)
|
週の日曜日から土曜日まで |
|
範囲指定:1-5
|
毎週の月曜日から金曜日の間 |
|
個別指定:0:2:4
|
毎週の日曜日と火曜日と木曜日 |
- WorkMday書式(dd):dd-dd, dd:dd
|
範囲:(設定なし)
|
月間の1日から31日まで |
|
範囲指定:1-28
|
毎月の1日から28日までの間 |
|
個別指定:10:20
|
毎月の10日と20日 |
- WorkMon書式(mm): mm-mm, mm:mm
|
範囲:(設定なし)
|
年間の1月から12月まで |
|
範囲指定:4-9
|
年間の4月から9月末までの間 |
|
個別指定:1:3
|
年間の1月と3月 |
- SpecialDay書式:S/mm/dd/hh:R/mm/dd/hh
|
範囲:(設定なし)
|
年間の1月1日から12月末まで |
|
範囲指定:R/1/1-15
|
年間の1月1日から1月15日に稼動する |
|
範囲指定:R/1/1-15/5.30-8.45
|
年間の1月1日から1月15日の、05:30-08:45に稼動 |
|
個別指定:S/1/1:S/1/15
|
年間の1月1日と1月15日は稼動しない |
|
指定期間(時間)にAPP稼動の停止:
|
頭文字に’S’ |
|
指定期間(時間)にAPP稼動の許可:
|
頭文字に’R’ |
- mm, dd, hhの書式は同上
- 各項目(mm,dd,hh)の範囲指定は可能ですが、各項目の複数個別指定はできません。
1月1日と1月2日に運用を停止する場合
正しい例:WkSch_AppID=,,,,S/1/1-2
正しい例:WkSch_AppID=,,,,S/1/1:S/1/2
誤った例:WkSch_AppID=,,,,S/1/1:2
もしも、「S/1/2-4:R/1/4-6」のように重なる設定を行った場合は、後ろの設定の方が優先されます。「S/1/2-4:R/1/4-6」の設定の場合、01/04が重なりますが、この設定の場合「01/04」は運用することになります。
WkSch_AppID=,,,1-4,S/1/1/4-7:S/1/1/16-19
例えば、上記のような設定の場合、
運用する月は1〜4月、曜日の指定はなし、
1月1日は04:00-07:59、16:00-19:59 は運用しない、という設定になります。
年ごとのスケジュール設定
DSM Ver5.0より、スケジュール設定に年情報を持たせることができるようになりました。
[WKSCH]
WkSchyyyy_AppID=WorkHour,WorkWday,WorkMday,WorkMon,SpecialDay
または
WkSchyyyy_AppName=WorkHour,WorkWday,WorkMday,WorkMon,SpecialDay
「yyyy」は年を指定するパラメータです。西暦で指定してください。
現在の年を指定した設定が存在する場合は、それを優先的に参照します。存在しない場合は、従来通りの年指定なしの設定を参照します。
WkSch2000_App1=9.0-18.30,1-5
例えば、上記のような設定の場合、
2000年の月曜から金曜の09:00-18:30まで運用します。
別ファイル上の運用スケジュールを読み込み
DSM Ver5.0より、別ファイルで管理されている運用スケジュール情報を読み込むことができるようになりました。
別ファイル内でのスケジュール設定方法は、dsm.iniでのスケジュール設定方法と同じです。
[WKSCH]
WkSchFile=スケジュール設定したファイルのフルパス
WkSchFileを設定した場合は、そのファイルの設定情報を優先的に参照します。
例:

WkSchFile=C:\User\mysch.txt

WkSchFile=/home/batchapp/batchsch.txt
複数のアプリケーションに共通な運用スケジュールを割り当て
DSM Ver5.0より、複数のアプリケーションIDに共通の運用スケジュールを設定することができるようになりました。
[WKSCH]
WkSch_AppID1=WkSch_Pattern
WkSch_AppIDn=WkSch_Pattern
WkSch_ Pattern=運用スケジュール設定
「WkSch_Pattern」(Patternは任意の文字列)で示されるスケジュール設定を、「WkSch_アプリケーションID」に指定することにより、同じスケジュール設定を複数のアプリケーションのスケジュールに割り当てます。
アプリケーション名が同じ場合の検索順番
スケジュールで年指定がされている・別ファイルにスケジュール設定があるという場合に、同じアプリケーション名またはアプリケーションIDの指定が複数存在するときの検索順番は以下のようになります。
- WkSchFileで指定されたファイル内の、WkSchyyyy_APP名
- 「dsm.ini」ファイル内の、WkSchyyyy_APP名
- WkSchFileで指定されたファイル内の、WkSch_APP名
- 「dsm.ini」ファイル内の、WkSch_APP名
まったく同じアプリケーション名がある場合は、先に設定されているものが有効になります。
スケジュール設定例
スケジュールの設定のチュートリアルとして以下の例を考えてみます。
すべての月において、水曜は運用しない。
6〜8月は運用しない。
ただし、8月1日〜15日までは00:00〜08:59、19:00〜23:59のみ運用する。
それ以外の日はすべて1日24時間運用する。
dsm.iniファイルを開きます。
設定のない状態では、「すべての日・すべての時間に運用」することになりますので、これより、運用しない月・日・時間を設定していきます。
WkSch_APP01=,0-2:4-6
これで、「水曜は運用しない」という条件の設定ができました。
WkSch_APP01=,0-2:4-6,,1-5:9-12
これで、「6〜8月は運用しない」
という条件の設定ができました。
WkSch_APP01=,0-2:4-6,,1-5:9-12,R/8/1-15/0-8:R/8/1-15/19-23
これで、「8月1日〜15日は00:00〜08:59、19:00〜23:59のみ運用する」
という条件の設定ができました。
以上で設定は完了です。
分散環境とスケジュール設定例
分散環境におけるメインサーバーでのスケジュール設定の例を説明します。分散環境でのスケジュールの設定は、必ずメインサーバーの「dsm.ini」で行うようにしてください。
[DSMSRV]
MainServer=ON
DsmHost0=localhost , R , 5 , 40 , App1:App2:App3
DsmHost1=hongkong , R , 20 , 40 , App1:App2:App10
DsmHost2=monaco , R , 15 , 40 , App10:App20
[WKSCH]
WkSch_App1=,,1-5,,S/1-2
WkSch_App2=9-18
WkSch_App3=19-23,,1-20
WkSch_App20=10:12:16,1-2:4-5,,4-10
上記の例では、「localhost(メインサーバー自身)」「hongkong」「monaco」という3つのサーバーが分散サーバーとして設定されています。
そのうち、サーバー「localhost」に「App1、App2、App3」の3つのアプリケーションIDが登録されています。
サーバー「hongkong」に「App1、App2、App10」の3つのアプリケーションIDが登録されています。
サーバー「monaco」に「App10、App20」の2つのアプリケーションIDが登録されています。
DsmHostxでの各パラメータの役割については、分散環境における仕様を参照してください。
この設定では、割り当てられたアプリケーションIDが「App1」のアプリケーションが、メインサーバーでアクセスされたときに、「localhost」か「hongkong」に分散されます。
「App10」のアプリケーションがメインサーバーでアクセスされたときは、「hongkong」か「monaco」に分散されます。
「App1、App2、App3、App20」のアプリケーションID(アプリケーション名)はスケジュール設定がされているので、指定のスケジュールの通りに運用されますが、「App10」はスケジュールの運用設定がされていません。
この場合、「App10」で示されるアプリケーションは、運用上の制限がない(毎日24時間運用)ということになります。