- ベストアンサー
一定周期のバッチ処理方法と負荷低減について
- 一定時間ごとにバッチ処理を行うためには、Windowsのタスクを利用する方法が一番簡単です。
- ループ処理は負荷が高いため、避けるべきです。
- APIを利用する方法もありますが、今回は具体的なAPIの提案はできません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
タスクから実行されるEXEは、バックアップをそのまま実行するEXEであるのはダメです。 バックアップを行うEXEを別に用意して、タスクから起動したEXEがそれをコールしたらよいです。 それが正常終了したか否かをチェックする機能を持つ事が必要です。 バックアップEXEがコケタなら、再度行うようにしたらよいです。 EXEの機能分割を考えましょう。
その他の回答 (5)
- Smilie
- ベストアンサー率0% (0/1)
DoTimerというフリーソフトがあります。 これを毎時起動にして起動用exeをキックし、テキストファイル等に起動日時を記憶させ毎時exeと毎日exeと年2exeの起動を起動用exeで制御したらいかがでしょうか
補足
ありがとうございます。 DoTimerというソフトを検索してみましたが、DL系や検索エンジンをかたっぱしから探しても見つかりませんでした。 もう少し情報があればうれしいのですが。
- 2ch
- ベストアンサー率51% (64/125)
日々や時間単位は、自動で行う タスクが一番軽い 年二回のバックアップは 4.時間を守るA型の健康バカを雇う
お礼
書いてくださった皆さんにまとめてお礼を申し上げます。ありがとうございます。 年末年始の件については、一応半年あるのでそれまでにアップグレードして対応ということにしました。 さて、やはりタスクを利用するのが簡単って事でしょうね。 補足しましたが、タスク実行失敗が起こるのでそれをクリアしていかなくてはなりません。プログラムの無駄を減らせば、失敗もなくなるかな?と淡い期待をしていますがw
補足
タスクで実験中です。 そこで、疑問ができました。 PCの稼動が高くなって重くなると、タスク実行が失敗する現象が起こりました(1時間毎のタスク、1日2~3回程度失敗) プログラムに問題があるのか検討している状況です。
3.Timerを貼り付けても負荷は高くなったかな?
お礼
タイマーのIntervalは、確かInt型だったと思いました。 今回のような毎時の場合だと、Int型では無理だと思います。
- Seiryo
- ベストアンサー率13% (27/203)
タスクでできるならタスクでやればいいじゃん。
- 2ch
- ベストアンサー率51% (64/125)
1番 タスク に 一票
お礼
ありがとうございます。 タスクの失敗というのも考え、それぞれ3種類の機能を分割した形で作り直そうと考えてます。 ログファイルですが、データの欠損確認のログはとっていましたが、実行自体のログはとっていませんでしたので、これを追加してチェックすることにしました。 今後とも宜しくお願いします。