我想建立蔚蓝的应用程序,具有两个工作人员的角色和没有网络的角色。当该工作人员的角色第一次开始了我想只有一个角色来做下一个单一的时间:

  • 下载和分析掌握的文件,然后排队多个"孩子"的任务基础上的 内容的主文件
  • 排队一个单独的主文件下载"儿童"运行任务的第二天

每个"孩子"的任务将是完成通过这两个工作人员直至任务的队列已用尽。认为整个事情作为"启动泵"

这种事情真的很容易,如果我添加的第一个"主人"的工作在队列中通过调网的作用,但似乎真的很难做到在一个自动启动方式。

任何帮助在这方面将不胜感激!

谢谢....

有帮助吗?

解决方案

一个可能性:而不是调网的作用,只是载的队列。(这听起来像是这样的程序,你会希望自动运转要做一些工作,然后再次关闭...如果你是自动执行的,它应该是微不足道的,还自动化装载的队列中。)

一个(或许是)更好的选择:使用某种形式的锁定机制,以确保只有一个工作人员的实例并的初始化的工作。要做到这一点的方法之一是试图创建的队列(或blob,或一个实体在一个表)。如果已经存在,那么其他的实例是处理初始化。如果创造成功,那么它的这种实例的工作。

注意,它总是更好地使用的租约,比锁,在情况下的实例就是这样做的初始化将失败。考虑使用超时(例如存储的时间戳表的存储或在元数据的blob或名称列队...).

其他提示

我们没有结束了完全相同的形式的问题,这就是为什么我们介绍一个 O/C映射器 (对象云).基本上,你想要介绍两类型的云服务:

  1. QueueService消耗消息随时提供。
  2. ScheduledService触发行动计划的基础。

然后,如其他代表团建议,在云,你真的喜欢使用 租赁s而不是锁,为了避免你的云应用程序结束冻结永远由于暂时的硬件(或基础设施)的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top