私はキューを監視している作業者の役割があります。私はそれが大騒ぎになりたいと思うほど、そのキューは空になるでしょう。私は2分ごとにキュー内に新しいアイテムを取得します。 、私の労働者の役割で睡眠時間が必要ですか?
public override void Run()
{
while (true)
{
//Check the queue for new messages
//if there's a new message, do some stuff
}
}
私の質問があり、私はのThread.sleep(x)は、キュー内の項目が存在しない場合に何をする必要があります:
私が持っていますか?それとも何度も何度も何度もチェックし続けてもいいですか?私が眠る必要がある場合、どれくらい長く寝るべきですか? (ミリ秒/秒?)
私の主な関心事はAzureです。
マイクのコメントは完璧です。実際の時間価値に関しては、ストレージ価格をチェックすることをお勧めします.10kトランザクションごとに$ 0.01を支払うことになります。実際のチェック頻度は、支払う予定のトランザクション数と作業負荷の処理開始の速さとのバランスでなければなりません。 – Igorek
ありがとうございます。キューに項目がない場合は、1秒待つだけです。それで、最悪の場合、私は一日に87セントを支払うでしょう。商品を処理するのに約2秒かかり、1日に約500個の商品を手に入れているので、それは少し少なくする必要があります。 ユーザーは、アップロード後にファイルをすばやく処理することを期待しているため、これは本当にうまく機能します。 – Nate
1日あたり10:0.01/10,000 * 60 * 60 * 24 = 0.087または8.7cの係数で間違っているかもしれないと考えてください。 – Ryan