我在 Windows Azure 上运行的应用程序处理来自用户的传入请求(将其放入 Azure 队列)并将它们分配给现实世界的人。
人们有一定的时间来处理请求。如果分配的人都没有处理请求,我需要转到一组新的人。基本上,我想将这些任务排队等待在某个时间处理,然后再次处理它们。如果其中一位用户处理该任务,我需要将其出列,以便工作人员不再处理它。
我在 Windows Azure 上运行的应用程序处理来自用户的传入请求(将其放入 Azure 队列)并将它们分配给现实世界的人。
人们有一定的时间来处理请求。如果分配的人都没有处理请求,我需要转到一组新的人。基本上,我想将这些任务排队等待在某个时间处理,然后再次处理它们。如果其中一位用户处理该任务,我需要将其出列,以便工作人员不再处理它。
您需要使用计划任务。有两个不错的库可供您使用: Quartz.Net和 Castle scheduler。
有了调度器,这样的任务就变得容易了。您只需创建一个在处理时间到期时运行的作业。在那里,您将检查任何未处理的请求,如果有任何剩余,则通知下一组人员并在处理时间到期后设置另一个计划的开始触发。
如果您需要更多详细信息,请告诉我。
我已经在生产应用程序中成功地在 azure webrole 中使用了 Quartz.net。