- ベストアンサー
一定間隔のタスク処理について
現在、一定期間のタスク処理について悩んでいます。 あるプログラムをタスクトレイに常駐させています。 このプログラムは、DBにアクセスするプログラムで、15分間隔でDBにアクセスしようとしています。 当初は、 1.タイマーイベントで処理する。 2.Windowsのタスクを使用する。 と考えていたのですが、 1.タイマーのインターバル(最大)は、約65000で 15分は設定できない。 2.タスクは、プログラムが常駐している為、初回 実行のみ行われる。(つまりずっとタスク実行中 となる。) という問題にぶつかってしまいました。 何か良い方法はないでしょうか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=571156 なども参考にはしてみたのですが・・・ どうかよろしくお願い致します。
- みんなの回答 (14)
- 専門家の回答
質問者が選んだベストアンサー
あくまで個人的意見 カウント形式は好きくない。 タイマーイベントが発生したら、 前回実行から15分以上経過しているかどうかで 判断する方が好き。 割り込み系プログラムの基本ダワサ
その他の回答 (13)
- yomo3
- ベストアンサー率32% (88/269)
悔しがりの#2です。 現実問題として、1分間隔の割り込みだとして、変数をインクリメントするだけですので、ほとんど問題ないはずです。 ただ、プログラム自体を呼び出すのにリソースを大分使ってしまうので、レスポンスには響くと思います。 やってみないとわかりませんが。
- yomo3
- ベストアンサー率32% (88/269)
VBの本にならどれにでも載っているはずですが、インターバルタイマーを連鎖させてカウントすればいいのです。 とここまで書いたら、#1の人がすでに書いていましたね。 悔しいので回答を送ってしまいます。 変数はグローバルで定義してください。
- taknt
- ベストアンサー率19% (1556/7783)
タイマーのインターバルは たとえ 1分でも 15分を知ることはできます。 タイマーのイベントが 入るたびに 変数に+1していき、15になったら処理をして 変数を 0に戻せばいいだけです。
補足
早速の回答、ありがとうございます。 プログラム常駐は12時間行う予定なのですが、上記方法をとった場合、負荷は大丈夫でしょうか?
- 1
- 2
補足
早速の回答(悔しい中送っていただき)、ありがとうございます。 ところでプログラム常駐は12時間行う予定なのですが、上記方法をとった場合、負荷は大丈夫でしょうか?