C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.9697 の関連記事表示

<< 0 >>
■9697  Re[12]: System.Timers.Timerでのイベント処理
□投稿者/ 魔界の仮面弁士 -(2007/11/02(Fri) 15:07:35)
    No9695 (nbmyou さん) に返信
    > 拡張子がaaa(仮)の同名ファイルが同じフォルダに存在するかどうかで判断します。
    「*.aaa の名でコピーして、コピー完了後、それを *.xml にリネーム」という手法も見かけます。

    > 例えばポーリング間隔が5分と設定された場合、XMLファイルの処理が終わってから5分後に動作するような仕組みということでしょうか。
    >(処理に2分かかったとすると、実際には次の処理は7分後となる?)
    その場合、Sleep 時間を 5 分に設定すれば 7分後になってしまいますが、もっと短い Sleep 時間、
    たとえば 15 秒に設定し、そのたびに「5分経過したかどうか」を判定して実行させるようにすれば、
    次の実行は(7分後ではなく)5分後〜5分15秒程度の誤差に抑えられるかと。


    あとは、ポーリング時間 5 分の間に処理が終わらなかった(たとえば 7 分かかる)場合に、
    次の要求が来てしまった場合に、どのような対応を取るべきかも考えておく必要があるかも。
     (案1)他の要求も、最大 n 件まで並行で稼働させる。
     (案2)処理中の要求を中止させ、ただちに次の要求を開始する。
     (案3)処理中の要求を中止させ、次の5分後(つまり10分後)にそれを処理させる。
     (案4)処理中の要求が完了後、ただちに次の要求を開始する。
     (案5)処理中の要求が完了後、次の5分後(つまり10分後)にそれを処理させる。
記事No.9602 のレス /過去ログ22より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -