• ベストアンサー

一定間隔のタスク処理について

現在、一定期間のタスク処理について悩んでいます。 あるプログラムをタスクトレイに常駐させています。 このプログラムは、DBにアクセスするプログラムで、15分間隔でDBにアクセスしようとしています。 当初は、  1.タイマーイベントで処理する。  2.Windowsのタスクを使用する。 と考えていたのですが、  1.タイマーのインターバル(最大)は、約65000で    15分は設定できない。  2.タスクは、プログラムが常駐している為、初回    実行のみ行われる。(つまりずっとタスク実行中    となる。) という問題にぶつかってしまいました。 何か良い方法はないでしょうか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=571156 なども参考にはしてみたのですが・・・ どうかよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • 2ch
  • ベストアンサー率51% (64/125)
回答No.4

あくまで個人的意見 カウント形式は好きくない。 タイマーイベントが発生したら、 前回実行から15分以上経過しているかどうかで 判断する方が好き。 割り込み系プログラムの基本ダワサ

その他の回答 (13)

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.3

悔しがりの#2です。 現実問題として、1分間隔の割り込みだとして、変数をインクリメントするだけですので、ほとんど問題ないはずです。 ただ、プログラム自体を呼び出すのにリソースを大分使ってしまうので、レスポンスには響くと思います。 やってみないとわかりませんが。

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.2

VBの本にならどれにでも載っているはずですが、インターバルタイマーを連鎖させてカウントすればいいのです。 とここまで書いたら、#1の人がすでに書いていましたね。 悔しいので回答を送ってしまいます。 変数はグローバルで定義してください。

akikan0125
質問者

補足

早速の回答(悔しい中送っていただき)、ありがとうございます。 ところでプログラム常駐は12時間行う予定なのですが、上記方法をとった場合、負荷は大丈夫でしょうか?

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

タイマーのインターバルは たとえ 1分でも 15分を知ることはできます。 タイマーのイベントが 入るたびに 変数に+1していき、15になったら処理をして 変数を 0に戻せばいいだけです。

akikan0125
質問者

補足

早速の回答、ありがとうございます。 プログラム常駐は12時間行う予定なのですが、上記方法をとった場合、負荷は大丈夫でしょうか?

関連するQ&A