如何触发一个依赖于其他 2 个或更多并行活动来完成的活动?
我是工作流程基础的新手。我正在尝试构建一个 .NET 4 控制台应用程序。这可以分为许多任务。这是任务的性质。
- 很少有任务是相互独立的并且可以并行运行。
- 很少有任务会产生两个或更多新任务。
- 很少有任务依赖于并行运行的其他任务的输出,并且只有当它们完成或提供所需的输入时才能启动。 例如
这里
- 任务 1、2 和 3 是独立的。 因此可以并行运行。
- 任务 4 完成后,
- 会生成 5 和 6 任务 7 仅当任务 4和2就完成了。
虽然我可以使用系统线程和一些消息传递来编写自己的框架,但我想知道是否可以利用工作流基础 4。
我浏览了一些工作流示例,但我无法弄清楚如何触发新的工作流并行运行的父活动完成时的活动。
另外,如果您知道解决上述问题的任何其他方法,请告诉我。
I'm new to workflow foundation. I'm trying to build a .NET 4 console application. This can be divided into a number of tasks. Here is the nature of tasks.
- Few tasks are independent of each other and can be run parallel.
- Few tasks spawn two or more new tasks.
- Few tasks are dependent on output of other tasks which are running parallel and can be started only when they finish or provide the needed input.
e.g.
Here
- Task 1, 2 and 3 are independent.
Thus can be run parallel. - Task 4 when done, spawns 5 and 6
- Task 7 can be started only when task
4 and 2 are done.
While I can write my own framework using system threads and some messaging to do above, I was wondering if I can leverage workflow foundation 4.
I went through few samples on workflow, but I've not able to figure out how to trigger a new activity when it's parent activities running parallel are finished.
Also if you know of any other way to solve above problem, do let me know.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常,您将这些依赖任务移至并行活动下方,以便您知道所有依赖项都得到满足。
更新:
从一个序列开始。添加一个并行,一侧为任务 1 和 4,另一侧为 3。下面添加另一个包含 5,6 和 7 的 3 个分支的并行。
但如果任务 2 比任务 1 + 4 花费更长的时间,它并不完全相同。
[Ankush]所以你的建议是这样的
Normally you move those depended task below the Parralel activity so you know all dependencies are satisfied.
Update:
Start with a Sequence. Add a Parallel with Task 1 and 4 on one side and 3 on the other side. Below add another Parallel with 3 branches containing 5,6 and 7.
It isn't exactly the same though if Task 2 takes longer than Task 1 + 4.
[Ankush]So what you are suggesting is like this