Zeebe Docs翻译:2.3 Job Worker
温馨提示:
本文最后更新于 2019年10月08日,已超过 1,871 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
一个job worker是一个能够执行工作流中特定步骤的组件。
什么是Job?
Job是工作流中的工作项。例如:
- 处理付款
- 生成PDF文档
- 在后端系统中更新客户数据
作业具有以下属性:
- 类型:描述工作项,并在工作流的每个任务中定义。工人引用该类型以请求他们能够执行的工作。
- 变量:工作人员执行工作所需的工作流实例的上下文/业务数据。
- 自定义标题:工作流程中定义的其他静态元数据。通常用于配置用于多个工作流程步骤的工作程序。
向经纪人索取工作
作业人员每隔一定的时间间隔(即轮询)向经纪人请求某种类型的作业。此间隔和请求的作业数可以在Zeebe客户端中配置。
如果有一个或多个所请求类型的作业可用,则代理会将作业流式传输给工作人员。接收到作业后,工作人员将执行这些作业,并根据作业是否可以成功完成来发送每个作业的完成或失败消息。
例如,下面的工作流可能产生三种不同类型的作业:process-payment
,fetch-items
和ship-parcel
:
三种不同的工作工人,每种工作类型各一名,可以向Zeebe请求工作:
许多工人可以请求相同的工作类型,以扩大处理规模。在这种情况下,代理确保将每个作业仅发送给其中一个工人。
在请求作业时,可以设置以下属性:
- 工作者:工作者的标识符。用于审计目的。
- 超时:将工作分配给工人的时间。如果作业在这段时间内未完成,则可以再次要求工人提出。
- MaxJobsToActivate:此请求应激活的最大作业数。
- FetchVariables:所需变量名称的列表。如果列表为空,则请求工作流实例的所有变量。
工作队列
Zeebe将创建作业与执行作业分离开来。始终可以以尽可能高的速度创建工作,而不管是否有工人在工作。这是可能的,因为Zeebe将作业排队直到工人要求他们为止。如果当前没有作业工作者正在请求作业,则作业将排队。由于工人要求经纪人提供工作,因此工人可以控制接受新工作的速度。
这使代理可以处理突发流量,并有效地充当作业人员面前的缓冲区。
正文到此结束
- 本文标签: 其他
- 本文链接: https://www.v8en.com/article/186
- 版权声明: 本文由SIMON原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权