gpt4 book ai didi

java - 如何为一系列任务设计执行引擎

转载 作者:IT老高 更新时间:2023-10-28 21:18:49 24 4
gpt4 key购买 nike

我正在尝试用 Java 编写一个我必须执行一堆任务的问题。

问题

执行一个由多个任务组成的作业,这些任务之间存在依赖关系。

一个作业会有一个任务列表,每个这样的任务还会有一个后续任务列表(每个后续任务都有自己的后续任务 - 您可以在此处查看递归性质)。如果满足以下条件,每个后续任务都可以开始执行 -

  1. 它被配置为在其前任任务的部分执行时执行。在这种情况下,前任任务将通知它已部分完成,我的后继任务可以开始

  2. 成功完成前任任务。

示例

作业有 2 个初始任务 A 和 B。A 有 2 个后续任务 M 和 N。B 有 1 个后续任务 P。P 有 2 个后续任务 Y 和 Z。

M 可以在其前置任务 A 部分完成时开始。Z 可以在其前任任务 P 部分完成时开始。N、P 和 Y 只能在分别完成其前置任务 A、B 和 P 后开始。

Tasks Hierarchy (A and B can start in parallel)

我必须设计这样一个工作流/作业的执行。在设计中,我们必须确认前导任务发送的部分完成事件,以便可以启动其后继任务。我应该怎么做?有没有适合这个并发问题的设计模式?

最佳答案

看看akka - http://akka.io

使用 akka 您可以创建参与者(事件驱动、异步处理消息的并发实体)

每个任务都可以表示为一个 Actor (您可以选择何时启动它)

您可以在部分完成或完全完成时触发其他参与者(任务)(实际上您可以随时触发它们)

关于java - 如何为一系列任务设计执行引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27359112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com