none
タスクスケジューラについて RRS feed

  • 質問

  • 毎日、決まった時間に実行していたタスクのタスク名を変更したところ、指定時刻になってもタスクが実行されなくなりました。
    SchedLgU.Txt内にも起動された実績が残っておらず、実際にタスクで指定しているBatchファイルで書いているログにもなにも出力されていません。
    タスクフォルダで表示される「前回の実行時刻」は前のままで、「次回の実行時刻」次に動くべき日時に更新されています。
    変更したタスク名を元の名称に戻すと、何事もなかったかのようにタスクが実行されます。

    タスク名のみを変更した場合、該当タスクを所定の実行時刻に正しく動かす為に行うべきことが何かあるのでしょうか?
    (一応24時間稼働させているサーバーなので、OSの再起動以外に手はない…というのは困りものですが)
    2009年8月28日 13:46

回答

  • 情報ソースを失念してしまいましたが、確かにタスクの名前を変更するとタスクが実行されなくなるようです(環境にもよるのかもしれませんが)。

    タスクの名前を変更した場合には、タスクのプロパティで何か内容を変更し(同じ内容を入力しなおすだけでもよい)、[OK]すれば実行されるようです。
    • 回答としてマーク こたいち 2009年9月2日 15:36
    2009年8月28日 14:37

すべての返信

  • 情報ソースを失念してしまいましたが、確かにタスクの名前を変更するとタスクが実行されなくなるようです(環境にもよるのかもしれませんが)。

    タスクの名前を変更した場合には、タスクのプロパティで何か内容を変更し(同じ内容を入力しなおすだけでもよい)、[OK]すれば実行されるようです。
    • 回答としてマーク こたいち 2009年9月2日 15:36
    2009年8月28日 14:37
  • なるほど。スケジューラーに対して、当該jobの最新の情報を取得させる状況を作り出さないとならないのですね。
    (タスク名変更=単なるファイル名の変更ではスケジューラは情報が変更したとみなさいということですね)
    スケジューラが動き始めた時点のjobの内容を、スケジューラがどこかに保持していて、jobが変更された旨のメッセージを受け取った時だけスケジューラは該当jobの最新設定情報を読み込み直す…というような動きなのでしょうか。

    ということは、乱暴なやり方ですが、"スケジューラサービスを再起動"でもいけるのかもしれないですね。(他の動作中のタスクとタイミングさえあえばという条件がつくでしょうが)
    2009年8月30日 13:33