gpt4 book ai didi

c# - 如何在 Windows Azure 辅助角色中安排任务

转载 作者:太空狗 更新时间:2023-10-29 19:39:39 25 4
gpt4 key购买 nike

我正在运行一个简单的 Azure 辅助角色,每天中午 12 点执行一项任务。下面是完成此操作的代码。

public override void Run()
{
try
{
while (true)
{
int time = Convert.ToInt32(DateTime.Now.TimeOfDay);
if (time == 12)
{
DoSomethingElse();
}
}

}
catch (Exception ex)
{
Log.Add(ex, true);
}
}

此处 DoSomethingElse() 是一种在每天中午 12 点发送电子邮件的方法,并且每天仅触发一次。

如何实现在中午 12 点时触发并执行 DoSomethingElse() 的调度程序。

我的问题是:这(上面的代码)是最好的方法还是使用任何第三方工具。

最佳答案

这里还有几个其他问题与此相关(我在上面标记了一个)。话虽如此,但冒着重复其他答案已经指出的风险:

就您而言,Windows Azure 队列上的一条简单消息(延迟到中午才显示)就可以了。这也有助于处理多实例场景:如果您正在运行角色的两个实例,您不希望相同的计划任务运行两次,因此您需要一种方法来仅让其中一个实例执行此代码。这可以通过队列消息轻松处理,或者您可以使用 Blob 租约(可能只有一个写锁)作为互斥锁,在单个实例上运行调度程序代码。 @smarx 的博客文章here对此进行了介绍。 .

关于c# - 如何在 Windows Azure 辅助角色中安排任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10897404/

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