目次に戻る アプリケーション運用スケジュール

選択したサーバーに対し、アプリケーション名・アプリケーション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

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の指定が複数存在するときの検索順番は以下のようになります。

  1. WkSchFileで指定されたファイル内の、WkSchyyyy_APP名

  2. 「dsm.ini」ファイル内の、WkSchyyyy_APP名

  3. WkSchFileで指定されたファイル内の、WkSch_APP名

  4. 「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時間運用)ということになります。