zeebe Job 定时器

zeebe中的作业定时器(job)是能够执行工作流中的特定步骤的组件。

What is a Job?

作业是工作流中的工作项。 例如:

  1. 处理付款
  2. 生成PDF文档
  3. 在后端系统中更新客户数据
  4. 作业具有以下属性:
  • 类型:描述工作项,并在工作流中的每个任务中定义。 工作人员引用该类型以请求他们能够执行的作业。
  • 变量:工作程序执行其工作所需的工作流实例的上下文/业务数据。
  • 自定义标题:工作流中定义的其他静态元数据。 主要用于配置用于多个工作流程步骤的工作程序。

Requesting Jobs from the Broker

定时器定期(即轮询)从broker请求某种类型的工作。 可以在Zeebe客户端中配置此间隔和请求的作业数。

如果所请求类型的一个或多个作业可用,则broker将向作业传输作业。 在接收到作业时,定时器执行这些作业,并根据作业是否成功完成,为每个作业发回完整或失败的消息。

例如,以下工作流可能会生成三种不同类型的作业:流程付款,提取项目和装运包裹:

zeebe Job 定时器_第1张图片

三个不同的定时器,每个工作类型一个,可以申请Zeebe的工作:

zeebe Job 定时器_第2张图片

许多定时器可以请求相同的工作类型以扩大处理。 在此方案中,代理确保将每个作业仅发送给其中一个定时器。

在请求作业时,可以设置以下属性:

  • Worker:worker的标识符。 用于审计目的。
  • Timeout:将工作分配给工人的时间。 如果作业未在此时间内完成,则可以再次向工人请求。
  • MaxJobsToActivate:此请求应激活的最大作业数。
  • FetchVariables:所需的变量名称列表。 如果列表为空,则请求工作流实例的所有变量。

Job Queueing

Zeebe将定时器与开展工作分开。 无论是否有定时器可以使用它们,总是可以以尽可能高的速率创建工作。 这是可能的,因为Zeebe将工作排队,直到定时器请求它们。 如果当前没有定时器请求工作,则工作仍然排队。 由于工人要求broker提供工作,定时器可以控制他们从事新工作的比率。

这允许broker处理突发的流量并有效地充当工作者面前的缓冲区。

zeebe qq交流群群号:856546010

 

 

 

 

 

 

 

你可能感兴趣的:(zeebe)