---
navTitle: $job
---
# $job - 当前长任务运行上下文

`$job` 表示当前后台长任务或批任务的运行上下文，适用于数据加工、取数模型、指标库提取、批量校验、批量计算、知识库提取等场景。
`$job` 不用于页面交互、普通表达式输入上下文、工作流实例/任务上下文，这些场景仍分别使用 `$event`、`$flow`、`$flowtask`。
在表达式中可以通过 `$job.xxx` 的形式获取任务运行信息，包括：

- `$job.id` - 任务运行ID

- `$job.name` - 任务名称

- `$job.resId` - 关联资源ID

- `$job.userId` - 执行用户ID

- `$job.executor` - 执行者，返回用户对象，可继续访问下级属性，如 `$job.executor.name`

- `$job.startTime` - 开始时间

- `$job.endTime` - 结束时间

- `$job.elapseTime` - 执行耗时

- `$job.retryTimes` - 当前是第几次重试，首次执行为 `0`

- `$job.trigger` - 触发方式，手动`1`，定时`2`，如果是定时执行，可以通过`$scheduleRunInf`获取更多计划信息。

- `$job.taskId` - 任务ID

- `$job.taskName` - 任务名称

- `$job.taskType` - 任务类型，`etl`数据加工，`script`批处理脚本，`workflow`工作流，`afl`程序流

- `$job.params` - 运行参数，返回 JSON 对象

- `$job.extractPlan` - 提取方案ID

- `$job.extractMode` - 提取模式，`OverwriteAll`全量覆盖，`Rebuild`全量重建，`Append`追加，`Merge`合并追加

- `$job.isIncremental` - 是否增量提取

- `$job.incFrom` - 增量提取起点

- `$job.incTo` - 增量提取终点

- `$job.state` - 运行状态，`WAITING`等待执行，或等待重试，`RUNNING`运行中，`TIMEOUT`超时，`BLOCK`阻塞，`CANCLED`取消

- `$job.totalCount` - 总行数

- `$job.successCount` - 成功数

- `$job.failCount` - 失败数

- `$job.ignoreCount` - 忽略数

- `$job.errorSamples` - 失败数据样例列表

`$job.errorSamples` 只用于提供轻量级失败样例，不建议在这里暴露完整失败明细或全量忽略数据。样例中的每一项通常只包含少量摘要信息，如 `id`、`key`、`message`、`file`、`table` 等。

示例：

```ts
// 判断当前是否为定时触发
$job.trigger = 2

// 判断是否为增量提取
$job.isIncremental

// 针对不同提取方案使用不同过滤条件
if($job.extractPlan='inc', year_month > ADDDATE(today(), -3, 'm'))

// 获取任务状态
$job.state

// 获取失败样例
$job.errorSamples
```
