- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 Azure 上有一个 Web 作业,带有 QueueTrigger。作业时间长(超过30分钟)
public async static Task ProcessQueueMessageAsync([QueueTrigger(QUEUENAME)] string iJobId)
{
//doing my long job
}
我的问题是触发后如何删除队列中的消息。在时间跨度(默认为 30 秒)到来之前,消息变得不可见。我的工作时间要少得多。所以我想我必须在触发方法的开头删除消息。当您使用 GetMessage()
方法循环而不是触发时,我发现了如何做到这一点。但是如何使用触发器来完成它,因为我没有要运行的消息对象 .DeleteMessage()
?
最佳答案
Answered by Michael Curd on the MSDN Forums , 并在此处引用:
The SDK should already handle that. As you stated, the message will be leased (or become invisible) for 30 seconds by default. If the job takes longer than that, then the lease will be renewed. The message will not become available to another instance of the function unless the host crashes or the function throws an exception. When the function completes successfully, the message is deleted by the SDK. So you shouldn't need to write any special code for this scenario.
关于c# - Azure WebJob QueueTrigger 得到DeleteMessage后怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922980/
如果我要使用 Azure.Storage.Queue 从队列中获取消息 queue.GetMessage(TimeSpan.FromMinutes(20)); 我可以设置可见性超时,但是当尝试使用 A
我当前正在使用 WebJobs SDK 来使用队列中发出的消息。 我的方法作为带有 [Microsoft.Azure.WebJobs.QueueTrigger(...)] 属性的一个参数,并且可以正常
我正在使用推荐的设置运行 azure webjobs SDK 控制台应用程序(连续): public static void ProcessQueueMessage([QueueTrigger("lo
我有一个带有 QueueTrigger 的 Azure WebJobs: public void ProcessTestQueueByTrigger( [QueueTrigger("test-
我已经准备好了一些 Webjob,每个 Webjob 都会响应多个 QueueTrigger,例如 public static void ProcessMessage([QueueTrigger("X
我希望我的队列每 90 分钟重试一次失败的网络作业,并且仅重试 3 次。 创建队列时我使用以下代码 CloudQueueClient queueClient = storageAcco
我已经准备好了一些 Webjob,每个 Webjob 都会响应多个 QueueTrigger,例如 public static void ProcessMessage([QueueTrigger("X
我希望我的队列每 90 分钟重试一次失败的网络作业,并且仅重试 3 次。 创建队列时我使用以下代码 CloudQueueClient queueClient = storageAcco
我有两种不同的方案来使用 Azure 队列存储处理 2 种不同类型的队列。 我想设置一个队列依次运行,另一个同时运行。 我一直在查看文档,我可以将配置应用到影响整个队列范围的主机。 static vo
我正在开发一个 azure 函数,它将由 azure 存储队列触发。对于 HTTPTrigger,我们可以在本地进行调试,但我无法找到在本地调试 QueueTrigger 的方法。你们中的任何人都可以
public static void ProcessMessage([QueueTrigger("queue")] string message, TextWriter log) { //pr
我使用 1.0.0 WebJobs SDK 持续运行 WebJob。 这是配置代码。 public static void Main() { var config = new JobHostC
我在 Azure 上有一个 Web 作业,带有 QueueTrigger。作业时间长(超过30分钟) public async static Task ProcessQueueMessageAsync
我正在尝试查找有关应从 Azure 存储队列触发的 Azure WebJobs QueueTrigger 方法的错误。 我已经阅读了一些文档(如博客文章/msdn 文章中)。但我还是不太清楚。 主要问
目前我正在使用 asp.net 开发一个 WebApi 项目。我想将所有非时间关键且长时间运行的操作转移到 webjobs 中,以保持我的 API 快速而简单。 例如,当创建特定资源时,它会立即创建(
我创建了一个这样的函数 public static Task HandleStorageQueueMessageAsync( [QueueTrigger("%QueueName%", Conn
我创建了一个这样的函数 public static Task HandleStorageQueueMessageAsync( [QueueTrigger("%QueueName%", Conn
我有一个 Azure Functions QueueTrigger,它在存储队列上监听这样的消息: Message text -------------------------- {"ClientNa
假设以下典型Queue Trigger功能: public void Run([QueueTrigger("queue1")]object data, ILogger log) { // Do
我有一个 azure 函数队列触发器。它在本地工作正常,但在部署时却不行。在 Application Insights 中,我可以看到以下错误消息,并且由于此异常,队列触发器不会被调用。我有一个带有
我是一名优秀的程序员,十分优秀!