こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

タスクが既に実行中の場合に適用される規則 について

初心者のため、質問に分かりづらい点があれば申し訳ありません。

Windowsのタスクスケジューラの「タスクが既に実行中の場合に適用される規則」についてですが、こちらは同一タスクのインスタンスのみを参照しているのでしょうか?

例えば、日時で
xxxx.bat(約1時間かかる)
yyyy.bat(約3時間かかる)
の2つを午前0時にスケジューリングし、
更にxxxx.batを午前2時にスケジューリングした場合
(1)xxxx.batの2度めの実行は1度めの実行が終わってからでなくてはならない
(2)yyyy.batの実行に影響は与えるのはNG
(3)xxxx.batはyyyy.batの実行が終わるのを待つことはNG
という条件を満たした設定はあるでしょうか?

「新しいインスタンスをキューに追加」を設定すれば良いかな、と思ったのですが
これだと
(3)xxxx.batはyyyy.batの実行が終わるのを待つことはNG
を満たせないのではないかと思いまして、質問させていただきました。

ご回答よろしくお願いいたします。

投稿日時 - 2017-06-09 14:00:41

QNo.9339138

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

(1)xxxx.batの2度めの実行は1度めの実行が終わってからでなくてはならない
》処理開始時に、既実行タスクがないこと(前タスク完了)の判断が必要です。

(2)yyyy.batの実行に影響は与えるのはNG
》「影響」の程度が微妙ですが、別タスクがあれば当然CPUリソースを消費します。「処理ロジック的な影響」はBAT処理の内容によります。

(3)xxxx.batはyyyy.batの実行が終わるのを待つことはNG
》逆に終わったとを検出する方が面倒なので、連続(直列)処理が必要な場合は一つのルーチン(BAT)に纏めます。なので、排他的な処理でなれば通常のソフト同様、平行処理は問題ないと思います。

具体的には、サンプルBATを作って走らせてみるのがわかりやすいと思います。

投稿日時 - 2017-06-10 15:23:33

あなたにオススメの質問