我有一个关于天蓝色的网页,有一个QueueTrigger。这项工作很长(超过30分钟)
public async static Task ProcessQueueMessageAsync([QueueTrigger(QUEUENAME)] string iJobId)
{
//doing my long job
}我的问题是如何在触发后删除队列中的消息。消息在时间周期(默认情况下为30)到来之前变得不可见。更别提我的工作时间了。因此,我假设必须在触发器方法的开头删除消息。当您使用GetMessage()方法循环而不是触发时,我会发现如何做到这一点。但是如何使用触发器来实现,因为我没有消息对象来运行.DeleteMessage()
发布于 2015-06-19 06:44:05
Michael在MSDN论坛上的回答,并在此引用:
SDK应该已经处理好了。正如您所述,默认情况下,消息将被租用(或变得不可见)30秒。如果这份工作需要更长的时间,那么租约将被续签。除非主机崩溃或函数抛出异常,否则该消息将不可用于该函数的另一个实例。当函数成功完成时,SDK将删除消息。因此,您不需要为这个场景编写任何特殊的代码。
https://stackoverflow.com/questions/30922980
复制相似问题