gpt4 book ai didi

c# - 经常从 Azure 存储队列中出列而不运行多个 cron 作业实例?

转载 作者:行者123 更新时间:2023-12-03 05:49:19 25 4
gpt4 key购买 nike

我面临一个非常典型的挑战:我有一个应用程序,我想在其中发送电子邮件/短信。我为此使用第三方 API(Mandrill 和 GatewayAPI)。这通常很快,但我的一些消息很大,需要一段时间才能发送。这就是为什么我想将其移动到不同的系统。

我的计划是从经常运行(即 15 秒)的 Azure 消息队列 中进行简单的 Azure Web 作业 读取,以确保所有新通信都正常发送得相当快。

我的问题是:如果我的工作有时比间隔时间长,是否有问题?如果是这样,我的设计是否存在明显的缺陷(即使用消息队列和间隔较短的 Web 作业)?

(我希望这不会被视为基于意见的问题 - 事实并非如此 - 我对如何对此设置进行编程有一个实际问题)

最佳答案

您需要做的是将触发器订阅到特定队列。

这真的很简单。当您基于标准模板创建新的 Azure Web 作业时,您将在 Functions.cs 中获得默认添加的以下函数:

    // This function will get triggered/executed when a new message is written 
// on an Azure Queue called queue.
public static void ProcessQueueMessage([QueueTrigger("QUEUENAME")] string message, TextWriter log)
{
// your code
}

然后将代码移到此处,您就不会遇到间隔问题,因为它会立即由​​触发器处理。

关于c# - 经常从 Azure 存储队列中出列而不运行多个 cron 作业实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49823519/

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