0

メイン プロジェクトで作成されたジョブを実行するバッチ サービスを作成するプロジェクトがあります。私の問題は、System.Timers.Timer では過去 28.4 日をスケジュールできず、間隔を可変にできないことです。私のバッチ サービスには約 9 人のオペレーターがいて、数分ごとに実行されるものもあれば、毎日、毎週、毎月実行されるものもあります。

毎月の部分を除いてすべてが機能しており、月の第 3 木曜日に実行したいと考えています。第 3 木曜日を gt にする方法は既に知っているので、それは問題ではありません。問題は、28.4 日を超えることができず、毎月間隔が変わることです。System.Threading を調べましたが、間隔の異なる複数のジョブでは使用できないことがわかります。

誰かが私を正しい方向に導く可能性のある解決策や何かを調べていますか?

4

1 に答える 1

0

タイマーをより短い間隔(日、時間、または分)で開始するように設計を再考して、事前に保存された日付/時刻に達しているかどうかを確認することをお勧めします。

上記で提案していることの問題は、サービスを再起動するか、ボックスを再起動すると、タイマーが失われることです。

だから...毎月の実行では、タイマーを24時間に設定します。次回ジョブをどこか(データベース、ファイルシステム、レジストリ)で実行する必要があるときに保存し、タイマーイベントが発生するたびにこれを確認して、実行する必要があるものを実行します。

于 2012-10-05T13:28:49.030 に答える