使用控制台应用程序webjob轮询消息的存储队列

时间:2017-04-12 21:09:51

标签: azure console-application .net-core azure-webjobs

我想使用.NET Core创建一个控制台应用程序作为WebJob,但是.NET Core中尚未提供WebJobs SDK。

我被建议处理从Azure存储队列中手动读取邮件的方案。看起来所有WebJobs SDK都会继续轮询队列。

以下代码是这样做的基本想法吗?它看起来并不复杂,但不确定它如何更复杂。

static void Main(string[] args)
{
   var runContinuously = true;
   while (runContinuously)
   {
      ReadAndProcessMessage();
      System.Threading.Thread.Sleep(1000);
   };
}

private static void ReadAndProcessMessage()
{
   // Read message
   ReadMessage();

   // Process message and handle the work
   HandleWork();
}

1 个答案:

答案 0 :(得分:3)

那会有效。我喜欢简单。

QueueTriggerAttribute使用随机指数退避算法来帮助最小化您的交易成本。如果您想了解如何实现这一目标的逻辑,那么从QueueListener类开始是一个很好的方法。克隆项目,然后跳转到RandomizedExponentialBackoffStrategy类。

相关问题