首页 文章

工作者角色中作业之间的Azure依赖关系

提问于
浏览
1

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

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

编辑:我使用了一个过于简单的例子 . 作业A和B都包含几个相关的消息 . 这些消息将分发给n个工作者角色并将单独发送,因此当n个工作者角色获得确认时,作业A结束,然后可以发送作业B的消息(分发给m工作者角色并由其处理) . 我认为在这种情况下,唯一的选择是让单个工作者角色同时处理作业A和B,否则需要复杂的工作者间角色同步机制 .

1 回答

  • 1

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

相关问题