• No : 21153
  • 公開日時 : 2015/03/02 08:14
  • 更新日時 : 2020/03/23 11:16
  • 印刷

【DataSpider Servista】 スケジュールトリガーが設定した実行時間とは違う時間に起動されました

スケジュールトリガー(インターバル)を以下の内容で設定しましたが、実行時間 開始の 10:00 ではなく 11:00 にスクリプトが起動しました。なぜ、実行時間 開始の 10:00 に起動しなかったのでしょうか
 
[設定内容]
実行間隔:02:00:00
実行時間 開始:10:00
実行時間 終了:16:00
 
カテゴリー : 

回答

■想定される原因
 
DataSpiderServer を再起動またはトリガーを有効にした時刻に実行間隔を足した時刻が日付をまたいだ場合、事象が発生する場合があります。
本件に該当すると思われる部分を以下に抜粋いたします。
※詳細は参考情報をご参照ください。
 
-----
インターバルスケジュールの設定で[実行時間]が[実行する時間の範囲を指定]で、現在日時の時刻が[終了]時刻を過ぎている場合、トリガーの実行日時は以下のように設定します。
  1. [開始]時刻と[終了]時刻を基に、開始日時と終了日時を設定します。
  2. 現在日時に[実行間隔]を足します。(現在日時に[実行間隔]を足した値を「評価日時」とします)
  3. 評価日時の時刻が開始日時の時刻を過ぎていない場合、評価日時の時刻が開始日時の時刻を過ぎるまで[実行間隔]を足していきます。
  4. 「開始日時の時刻 5.「評価日時の時刻 > 終了日時の時刻 」の場合、開始日時に1日足した日時を実行日時とします。
-----
 
上記仕様を元に、23:00 に DataSpiderServer の再起動またはトリガーを有効にした場合を考えてみます。
 
この場合、現在日時の時刻は[終了]を過ぎているため、ヘルプに記載されている上記の条件に該当します。このため、現在日時に[実行間隔]に設定された 2 時間を足した「評価日時」が、「実行時間 開始」の 10:00 よりも後になるように[実行間隔]を足していくと、評価日時は 11:00 になった時点で、4. の条件に該当します。
 
このため、次回の発火予定時刻が、11:00 になります。
 
予定した時刻に確実にスクリプトを起動したい場合には、以下の対応策をご検討ください。
 
■対応策
 
開始時間に発火させたい場合には、時刻を指定したスケジュールトリガーへの変更をご検討いただきますよう、お願いいたします。
 
■該当しない場合
 
日付が変わる時間帯の前後で、DataSpiderServer の再起動や、スケジュールトリガーの有効化を実施されていない場合には、上記に該当しない問題が発生している可能性があるため、各種ログを取得していただいた上で、サポートセンターまでお問い合わせください。
 
DataSpiderServer のログの詳細は参考情報をご参照ください。
 
 
参考情報
 
・スケジュールトリガー
 
・ログガイド