gpt4 book ai didi

c# - 如何创建自时间触发功能?

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:41 24 4
gpt4 key购买 nike

寻找一些在给定时间开始的自触发函数。

例如。用户有一个 session 开始于 25/04/2019 05:30在这里,用户应该在 25/04/2019 05:25 | 收到通知05:29 session 即将开始。

创建了一个 azure 函数(时间触发),它每分钟触发一次并检查当前时间是否为 session 时间 - 4 分钟,然后发送有关 session 开始的通知。

将来会有多个用户,所以我不希望该功能每分钟运行一次,有没有办法让该功能在 05:25 或 session 时间自行执行。所以可以有 100 个用户,他们会有不同的。只是寻找有关如何以更好的方式实现的选项。

.net 核心站点,托管在天蓝色,让 azure 函数每分钟运行一次以检查剩余部分

最佳答案

当用户在 session 上注册时,您可以将消息(带有用户详细信息)加入可见性延迟队列:

queue.AddMessage(message, initialVisibilityDelay: TimeSpanDelay);

例如,用户在下午 6 点注册, session 将在第二天晚上 8 点举行,因此延迟时间将为 25 小时 55 分钟(假设该用户希望在 session 前 5 分钟得到通知)。然后,您将使用队列触发函数代替时间触发函数,该函数会在队列中的消息变得可见时发送通知:

public static void Run([QueueTrigger("notifications")]QueueTrigger message, TraceWriter log)
{
Notifier.Send(message.UserName, message.UserPhoneNumber, message.Email);
}

此外,如果由于某种原因您的通知处理程序将失败,队列消息不会丢失,因此您可以重试多次处理它们。

关于c# - 如何创建自时间触发功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55273472/

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