Bpmn 在过程中向前发送一些数量并循环返回的问题

Bpmn 在过程中向前发送一些数量并循环返回的问题,bpmn,Bpmn,简而言之,这个过程就是我们试图招聘空缺职位。我们假设有不止一个职位需要填补。有1级和2级面试,如果有人通过,我们当然希望他们继续前进。但是,如果没有足够的人来填补所有空缺职位,我们仍然需要那些成功前进的人,同时重新开始搜索过程 我的问题是,当有多个人/单位/流程通过该流程时,如何关闭该流程?在最后圈起来的专用网关是否足够 进程结束时的专用网关是正确的 然而,我认为您的图表的上半部分可能需要一些澄清。我看到两种设计选择,您可能需要重新思考: 搜索候选人任务是否创建要面试的候选人列表或单个候选人?在

简而言之,这个过程就是我们试图招聘空缺职位。我们假设有不止一个职位需要填补。有1级和2级面试,如果有人通过,我们当然希望他们继续前进。但是,如果没有足够的人来填补所有空缺职位,我们仍然需要那些成功前进的人,同时重新开始搜索过程

我的问题是,当有多个人/单位/流程通过该流程时,如何关闭该流程?在最后圈起来的专用网关是否足够


进程结束时的专用网关是正确的

然而,我认为您的图表的上半部分可能需要一些澄清。我看到两种设计选择,您可能需要重新思考:

  • 搜索候选人任务是否创建要面试的候选人列表或单个候选人?在您的图表中,首先看起来有一个在
    1级面试任务期间并行面试的候选人列表。但是,随后的网关建议您为每个候选人决定他/她是否已通过该级别。如果没有,则返回搜索。这同样适用于
    二级面试任务

  • 包容性网关还建议您决定单个候选人,他们是否通过了每个级别,因为您可以同时有一个
    Yes
    和一个
    No

  • 如果对候选人的搜索结果是同时接受面试的候选人列表,那么我会将面试和
    分配给project
    任务放在子流程中。你会循环面试和分配任务,直到所有职位都被填满或所有候选人都被考核(注意顶部注释中的退出条件)。如果一轮面试没有填满所有职位,你将决定是否需要启动另一轮面试

    如果您希望单独面试应聘者,并且希望避免子流程,那么您可以保留您的结构,但使用排他性网关,而不是包容性网关:


    请注意这两个示例中的数据项,这些数据项明确说明了您的搜索结果是获得面试的候选人列表,还是一次只得到一名候选人。

    首先,非常感谢您花时间提供帮助!抱歉没有说得更清楚。这个过程应该会生成多个候选者对候选者对数据对象的有趣使用的搜索,我以前从未考虑过这样的事情。经过大量的头脑风暴,我们还将我们的结束事件更改为“终止”。我们担心的一个问题是,在我们完全填补这个职位的那一刻,是否还有人接受面试