gpt4 book ai didi

azure - 我作为 worker 的角色需要 sleep 时间吗?

转载 作者:行者123 更新时间:2023-12-02 07:34:02 25 4
gpt4 key购买 nike

我有一个辅助角色监视队列。尽管我希望它被猛击,但大多数时候队列都是空的。我每隔几分钟就会在队列中收到一个新项目。

我有:

 public override void Run()
{
while (true)
{
//Check the queue for new messages
//if there's a new message, do some stuff
}
}

我的问题是,如果队列中没有项目,我是否需要执行 Thread.Sleep(x) ?或者我可以一遍又一遍地检查它吗?如果我确实需要 sleep ,我应该睡多长时间? (毫秒/秒?)

我主要担心的是 Azure 费用。

最佳答案

帮助最小化交易费用(我认为这是您最关心的问题)的一个好方法是采用退避轮询方法。意思是,每次找不到队列消息时,慢慢增加 sleep 时间。这样做直到 sleep 时间达到某个最大值。找到消息后,就开始更快地轮询消息。

另一种帮助方法是一次从队列中获取多条消息(而不是一次获取一条)。这也将有助于减少交易费用。

关于azure - 我作为 worker 的角色需要 sleep 时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8974853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com