Zeebe JobWorker 绑定说明
关于 Zeebe JobWorker 绑定组件的详细文档
组件配置格式
要配置 Zeebe JobWorker 绑定,请创建一个类型为 bindings.zeebe.jobworker
的组件。请参考本指南了解如何创建和应用绑定配置。
有关 Zeebe JobWorker 的详细文档,请查看此处。
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
spec:
type: bindings.zeebe.jobworker
version: v1
metadata:
- name: gatewayAddr
value: "<host>:<port>"
- name: gatewayKeepAlive
value: "45s"
- name: usePlainTextConnection
value: "true"
- name: caCertificatePath
value: "/path/to/ca-cert"
- name: workerName
value: "products-worker"
- name: workerTimeout
value: "5m"
- name: requestTimeout
value: "15s"
- name: jobType
value: "fetch-products"
- name: maxJobsActive
value: "32"
- name: concurrency
value: "4"
- name: pollInterval
value: "100ms"
- name: pollThreshold
value: "0.3"
- name: fetchVariables
value: "productId, productName, productKey"
- name: autocomplete
value: "true"
- name: retryBackOff
value: "30s"
- name: direction
value: "input"
元数据字段说明
字段 | 必需 | 绑定支持 | 详情 | 示例 |
---|---|---|---|---|
gatewayAddr |
Y | 输入 | Zeebe 网关地址 | "localhost:26500" |
gatewayKeepAlive |
N | 输入 | 设置发送到网关的保活消息频率,默认为 45 秒 | "45s" |
usePlainTextConnection |
N | 输入 | 是否使用纯文本连接 | "true" , "false" |
caCertificatePath |
N | 输入 | CA 证书的路径 | "/path/to/ca-cert" |
workerName |
N | 输入 | 激活作业的 worker 名称,主要用于日志记录 | "products-worker" |
workerTimeout |
N | 输入 | 在此调用后返回的作业在超时之前不会被另一个调用激活,默认为 5 分钟 | "5m" |
requestTimeout |
N | 输入 | 请求将在至少一个作业被激活或达到 requestTimeout 后完成。如果 requestTimeout = 0,则使用默认超时。如果 requestTimeout < 0,则禁用长轮询,即使没有作业被激活,请求也会立即完成。默认为 10 秒 | "30s" |
jobType |
Y | 输入 | 在 BPMN 流程中定义的作业类型(例如 <zeebe:taskDefinition type="fetch-products" /> ) |
"fetch-products" |
maxJobsActive |
N | 输入 | 设置此 worker 同时激活的最大作业数,默认为 32 | "32" |
concurrency |
N | 输入 | 完成作业的最大并发 goroutines 数量,默认为 4 | "4" |
pollInterval |
N | 输入 | 设置轮询新作业的最大间隔,默认为 100 毫秒 | "100ms" |
pollThreshold |
N | 输入 | 设置缓冲激活作业的阈值以便轮询新作业,即阈值 * maxJobsActive,默认为 0.3 | "0.3" |
fetchVariables |
N | 输入 | 要获取的作业变量列表;如果为空,则在作业激活时返回作用域内的所有可见变量 | "productId" , "productName" , "productKey" |
autocomplete |
N | 输入 | 指示作业是否应自动完成。如果未设置,默认情况下所有作业将自动完成。如果 worker 应手动完成或因业务错误或事件而失败作业,请禁用此选项 | "true" , "false" |
retryBackOff |
N | 输入 | 作业失败时下次重试的回退超时 | 15s |
direction |
N | 输入 | 绑定的方向 | "input" |
绑定支持
此组件支持输入绑定接口。
输入绑定
变量
Zeebe 流程引擎处理流程状态,并可以在流程实例化时传递或在流程执行期间更新或创建流程变量。这些变量可以通过在 fetchVariables
元数据字段中定义变量名称的逗号分隔列表传递给注册的作业 worker。然后,流程引擎将这些变量及其当前值传递给作业 worker 实现。
如果绑定注册了三个变量 productId
、productName
和 productKey
,则 worker 将接收到以下 JSON 主体:
{
"productId": "some-product-id",
"productName": "some-product-name",
"productKey": "some-product-key"
}
注意:如果未传递 fetchVariables
元数据字段,则所有流程变量将传递给 worker。
头信息
Zeebe 流程引擎能够将自定义任务头信息传递给作业 worker。这些头信息可以为每个服务任务定义。任务头信息将作为元数据(HTTP 头信息)由绑定传递给作业 worker。
绑定还将以下与作业相关的变量作为元数据传递。值将作为字符串传递。表格中还包含原始数据类型,以便可以在 worker 使用的编程语言中转换回等效数据类型。
元数据 | 数据类型 | 描述 |
---|---|---|
X-Zeebe-Job-Key | int64 | 作业的键,一个唯一标识符 |
X-Zeebe-Job-Type | string | 作业的类型(应与请求的类型匹配) |
X-Zeebe-Process-Instance-Key | int64 | 作业的流程实例键 |
X-Zeebe-Bpmn-Process-Id | string | 作业流程定义的 bpmn 流程 ID |
X-Zeebe-Process-Definition-Version | int32 | 作业流程定义的版本 |
X-Zeebe-Process-Definition-Key | int64 | 作业流程定义的键 |
X-Zeebe-Element-Id | string | 关联任务元素 ID |
X-Zeebe-Element-Instance-Key | int64 | 唯一标识关联任务的唯一键,在流程实例范围内唯一 |
X-Zeebe-Worker | string | 激活此作业的 worker 名称 |
X-Zeebe-Retries | int32 | 此作业剩余的重试次数(应始终为正) |
X-Zeebe-Deadline | int64 | 作业可以再次激活的时间,以 UNIX 纪元时间戳发送 |
X-Zeebe-Autocomplete | bool | 在绑定元数据中定义的自动完成状态 |
相关链接
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.