Skip to content

$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 只用于提供轻量级失败样例,不建议在这里暴露完整失败明细或全量忽略数据。样例中的每一项通常只包含少量摘要信息,如 idkeymessagefiletable 等。

示例:

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

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

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

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

// 获取失败样例
$job.errorSamples
微信公众号微信公众号:山川软件