【问题标题】:Azure dependency between jobs in worker roles辅助角色中的作业之间的 Azure 依赖关系
【发布时间】:2014-12-05 03:46:14
【问题描述】:

每 10 分钟,Azure 中的多个辅助角色被设置为处理一组作业 (100+)。有些工作是独立的,但有些则不是。对于(简单)示例,在发送作业 B 之前,作业 A 必须由接收方处理、发送和确认。

可以将独立作业放入队列中以分配给工作角色。我想知道队列是否可以用于依赖作业以便制定一致的解决方案。

编辑:我使用了一个过于简单的例子。作业 A 和 B 都包含几个相关的消息。这些消息会被分发到 n 个 worker 角色上,并分别发送,所以当 n 个 worker 角色得到 ack 时, Job A 就完成了,然后就可以发送 job B 的消息(分发给 m 个 worker 角色并由 m 个 worker 角色处理)。 我认为在这种情况下,唯一的选择是让单个工作角色同时处理工作 A 和 B,否则需要复杂的工作角色间同步机制。

【问题讨论】:

  • 只有当您的工作人员角色之一确认作业 A 完成时,才会发送作业 B。
  • 那你为什么关心谁来处理作业B。

标签: azure


【解决方案1】:

我认为您可以使用队列来促进这一点。一种可能的解决方案是让工作人员在作业 A 完成后在同一队列或其他队列中写入另一条消息。因此工作人员将为作业 A 获取消息,处理作业,写入另一条作业 A 已完成的消息并删除原始消息。现在另一个线程将接收消息并开始处理作业 B。如果消息发布在同一个队列中,则消息需要传达它是多作业链的一部分以及已完成哪些步骤。如果消息发布在另一个队列中(例如,作业 B 的特定队列),那么您的代码将知道此消息是针对作业 B 的,并应相应地对其进行处理。

【讨论】:

    猜你喜欢
    • 2015-07-07
    • 2019-02-17
    • 2012-05-22
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    相关资源
    最近更新 更多