我想构建一个具有两个工作角色和NO网络角色的Azure应用程序。当辅助角色第一次开始了,我想角色做以下单时间只有一个:如何自动启动Azure队列?
- 下载并解析一个主文件,然后根据主文件的 内容排队多个“孩子”的任务
- 排队一个主文件下载“子”任务运行的第二天
每个“孩子”的任务,然后将双方的工作人员来完成,直到任务队列被耗尽。把整个事情想象成“启动泵”
如果我通过调用web角色在队列中手动添加第一个“主”任务,但似乎很难做到这一点真的很容易一个自动启动模式。
在这方面的任何帮助将不胜感激!
感谢.....
感谢您的快速回复!不过,如果我问“如何自动加载队列?”,请原谅我听起来很密集。你能告诉我一些代码吗? 根据你的第二个想法,我可能会错过一些东西,但我很困惑你如何使用像blob这样的实体来创建一个锁,而不会被竞争条件(S)阻塞?像以前一样,一些代码可能会帮助我理解它。 再一次,感谢您的快速回复和帮助.... – 2009-10-21 17:55:36
第一个想法,我只是说,而不是调用web角色启动初始化,运行一些代码在本地进行初始化。(无论该代码会在该Web服务中运行,请将其作为独立的客户端工具运行。) – smarx 2009-10-24 20:41:08
对于第二个想法,请参阅是否可以发现竞争条件,但如何:1)读取实体,该实体应该有一个2)如果完成,则初始化完成,移动到 3)如果leasename为空,则将其设置为随机guid并更新实体(乐观的如果其他人已经编辑过,并发将阻止编辑)。现在做你的初始化。 4)如果设置了leasename,但实体上的时间戳是“旧的”(定义一个很好的超时值,谨慎的时钟漂移),考虑租约可用,如(3)中所述。 有意义吗? – smarx 2009-10-24 20:45:35