我的目标是将消息推送到 Azure 队列,并让 webjob 在给定时间处理它。例如 { message : "记住牛奶", time: 2016-02-10-10:10:00}
我可以通过将消息出列、检查时间戳并在时间未到时将其放回队列来天真地做到这一点。
在 Azure 世界中是否有更惯用的方式来做到这一点?
我的目标是将消息推送到 Azure 队列,并让 webjob 在给定时间处理它。例如 { message : "记住牛奶", time: 2016-02-10-10:10:00}
我可以通过将消息出列、检查时间戳并在时间未到时将其放回队列来天真地做到这一点。
在 Azure 世界中是否有更惯用的方式来做到这一点?
您可以设置 initialVisibilityDelay:
[DoesServiceRequestAttribute]
public void AddMessage(
CloudQueueMessage message,
Nullable<TimeSpan> timeToLive = null,
Nullable<TimeSpan> initialVisibilityDelay = null,
QueueRequestOptions options = null,
OperationContext operationContext = null
)
当延迟超时时,该消息将可见:
initialVisibilityDelay 类型:System.Nullable 一个 TimeSpan,指定从现在起消息将不可见的时间间隔。如果为 null,则消息将立即可见。
MSDN:microsoft.windowsazure.storage.queue.cloudqueue.addmessage