使用Azure webjobs和队列存储在给定时间执行

时间:2016-02-08 14:58:43

标签: azure azure-webjobs azure-storage-queues

我的目标是将消息推送到Azure队列,并让webjob在给定时间处理它。例如。 {message:“记住牛奶”,时间:2016-02-10-10:10:00}

我可以通过将消息出队,检查时间戳并在时间尚未到来时将其重新放回队列来天真地执行此操作。

在Azure世界中是否有更惯用的方法?

1 个答案:

答案 0 :(得分:2)

您可以设置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