我有一個監視隊列的工作角色。儘管我希望它被抨擊,但大部分時間這個隊列將是空的。我每隔幾分鐘就會在隊列中得到一個新項目。我的工作人員角色需要睡眠嗎?
我:
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秒鐘,而且我每天要收到約500件物品,所以應該比這少一點。 我的用戶希望他們的文件在上傳後能夠得到快速處理,所以這項工作非常成功。 – Nate
認爲您可能錯誤的因素爲10:0.01/10,000 * 60 * 60 * 24 = 0.087或8.7c每天。 – Ryan