当前位置: 首页 > 知识库问答 >
问题:

如何在azkaban 3.0中从作业文件中获取作业名称

公羊信厚
2023-03-14

当试图安排作业时,我们需要来自Azkaban的作业名称。有什么内置属性吗?我们从${azkaban.job.flowid}获取流名称。

我的工作文件是:

type=command
command=python xyz.py ${azkaban.job.attempt} ${azkaban.job.flowid}

共有1个答案

韩鸿
2023-03-14

Azkaban作业运行时属性存储在env变量job_prop_file引用的文件中。在您的python程序中读取此文件并获得所需的属性。

import os
azkaban_job_prop_file = os.environ["JOB_PROP_FILE"]
with open(azkaban_job_prop_file,'r') as f:
        print f.readline()

我们可以从这些属性azkaban.flow.nested.path和azkaban.job.metadata.file推断作业名。

azkaban.flow.nested.path->如果作业是嵌入式DAG的一部分,请使用此命令。

 类似资料:
  • 我想在其中一个步骤中引用正在运行的作业名称。以下是Github为我们提供的选项:https://help.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#job-背景。我看到的最接近的是“job.container.id”。那会给我起这个工作的名字吗?听起来不像。不幸的是,我无法再测试

  • 在我当前的架构中,多个数据流作业在不同阶段被触发,作为ABC框架的一部分,我需要捕获这些作业的作业id作为数据流管道中的审计指标,并在BigQuery中更新它。 如何使用JAVA从管道中获取数据流作业的运行id?有没有我可以使用的现有方法,或者我是否需要在管道中使用google cloud的客户端库?

  • 问题内容: 我试图找到有关如何在Jenkinsfile管道中捕获用户在jenkins Web UI中取消作业时发生的错误的文档。 我还没有拿到或当某事在构建内无法接近的工作,他们只工作。 当某人取消工作时,这将导致资源无法释放。 我今天拥有的是 声明式管道中 的脚本,如下所示: 因此,当从UI中手动取消作业时,将忽略和块中的所有内容。 问题答案: 非声明性方法: 当您中止管道脚本生成时,将引发类型

  • 问题内容: 我正在尝试使用jenkins DSL脚本将作业放入文件夹中现在,我创建一个listView,并将此处使用的代码放入作业中 我想做同样的事情,但是这次我想把工作放在一个文件夹中! 问题答案: 请参考下面的Job-DSL文档,通过Job-DSL在Jenkins中创建一个文件夹。 夹

  • 问题内容: 在此示例中,我需要获取名称作业,我有一个代码用于使用该代码获取build参数的先前值 现在,工作名称是硬编码的,我需要获得的名称将是当前工作的名称。我该怎么做? 问题答案: Groovy Dynamic参数无法访问其余詹金斯工作所专有的常规环境变量。 这是获取工作名称的有效方法:

  • 我是hadoop新手,我写了一些作业并将它们导出为jar文件。我可以使用hadoop jar命令运行它们,我想每一小时运行一次这些作业。我该怎么做?提前谢谢。