データベーステーブルに格納されたキューを持つWindowsサービスを実装しました。Windowsサービスキューがデータベースに格納されている場合のCPUが高い
私はMyQueue
と呼ばれるテーブルがあり、このテーブルの各行はWindowsサービス用のタスクを指定しています。タスクが完了すると、このタスクが完了したことを意味する特別なフラグが行に表示されます。
while(true)
{
// get the first row from MyQueue that is not yet marked
// complete the task from the row
// mark the row as completed
}
このデザイン作品が、私はwhile(true)
を使用するように、継続的に新たな行があるかどうかを確認するためにデータベースに要求を送信し、これはにCPU使用率が発生します。
私のWindowsサービスは、次のように動作します60%以上に上昇する。
データベーステーブルに格納されたキューを実装するためのより効果的な方法はありますか?
MyQueueに何行追加していますか?あなたのサービスに警告することもできませんか? –