私の会社が使用を開始しようとしているソフトウェアでは、データベース内のいくつかのフィールドをインクリメントするために、毎晩小さな自動化プログラムを実行する単一の(Windows)ワークステーションが必要です。これがひどいデザインだと思っているのは私だけではないと確信していますが、今のところそれについてできることはあまりありません(少なくとも、正確に何をしているのかを理解してcronに置き換える時間があるまで-可能なPerlスクリプト)。
これまで、Windowsタスクスケジューラウィザードを扱っていたのは、数年前のさまざまなホームタスクだけでした。まったく実行されないタスクや、断続的にしか実行されないタスクを思い出します。
タスクが正しく構成されていると仮定すると、Windows XPタスクスケジューラが常にこのジョブを実行することを信頼できますか、それとも信頼できませんか?
ベンダーがWindowsタスクマネージャーに依存することを選択した「重要な」システムがいくつかあります。私が今まで見た唯一の問題は次のとおりです。マシンがオフのときに実行時間が失われる(ジョブキューではない)、不適切にセットアップされたという理由だけでタスクが失敗する、タスクマネージャーが呼び出すたびに実行可能ファイルまたはスクリプト自体が失敗する、そしてすべての最大の問題はユーザーですさまざまな理由で特定のタスクがロックアウトされるために設定されたアカウント。
アカウントのロックアウトの問題を防ぐために、タスク用の特別なアカウントを作成するか、私が見つけたちょっとしたトリックをお勧めします。タスクがネットワークアクセスを必要としない場合は、空白のパスワードでシステムとして実行するようにスケジュールできます。
最後に、すべての重要なタスクを自動または手動で監視します。念のため。
このタスクはデータベース用であるとおっしゃいました。そのデータベースはMicrosoftSQL Serverですか?その場合は、 SQL Server Agent の使用を検討する必要があります。
スケジューラー自体は、それが実行されているOSとして信頼できると思います。
ほとんどの場合、XPではなく、サーバー2000および2003でタスクスケジューラを扱いましたが、実際のスケジューラの誤動作に関連するタスクのスケジュールされたタスクの失敗を思い出せません。
それがこのソフトウェアの推奨構成である場合、ベンダーはXPタスクスケジューラに自信を持っている必要があります。
コンピュータについて「常に」と言うのは難しいですが、私は一般的にXPタスクスケジューラ(および同等のWindows Server))で幸運に恵まれました。XPはNTの1つです。 -派生OSは、一般的に私にとってはかなり安定しています。
やってみます。
それはタスクの安定性に依存します。私はそれを毎日の仕事を実行させてきましたが、それはいずれにせよきれいに終わり、何年も問題なく実行されています。しかし、スクリプトがハングしたためにジョブが終了しない場合もあります。タスクごとに構成可能な「X時間後にキル」がありますが、失敗するのを見てきました。
また、ジョブが次の実行のために実行されたときに、タスクが定期的な間隔で実行されるようにスケジュールされている失敗状況も確認しました。同じように、5分ごとにスクリプトを実行してDNSサーバーにクエリを実行しました。クエリは約20〜30秒で終了し、タスクスケジューラを介して実行したときにこれらのスクリプトが失敗することはありませんでした。
私は「はい」と答える傾向がありますが、マシンがその指定された時間に実行されることが確実である場合に限ります。何らかの理由でマシンがダウンした場合、マシンの再起動時にスケジュールされたタスクは実行されません。つまり、スケジューラーは、スケジュールが欠落していないかどうかを確認しません。
タスクの実行が重要な場合は、PCが少なくともUPSに接続されていることを確認してください。
スケジューラー自体が適切に実行されていることは幸運でしたが、アクセス許可の問題などが原因で明確な指示なしにタスクが失敗するのを見てきました。
実際にタスクを実行するスクリプトにデバッグコードまたは通知コードを組み込むことをお勧めします。そうすれば、スクリプトが新しいときに受動的に監視し、信頼性が高まるにつれてスクリプトを監視することができます。
タスクスケジューラで問題が発生したことはありませんが、ワークステーションの電源がオフになっていると、アプリケーションは実行されません(明らかに)。
データベースレベルのタスクを実行している場合、ほとんどのRDBMSでは、クエリ/タスクをDBMSレベルで実行するようにスケジュールして、サードパーティのタスクへの依存を排除できます。これが実用的であれば、これはより安全な方法かもしれません(同じことがcronジョブの実行にも当てはまります)。
私は数ヶ月前にこの種の問題についてネットを見回していましたが、周りをうろついていると、あなたの質問に対して明確な「いいえ」が思い浮かびました。