【问题标题】:Autosys job testingAutosys 作业测试
【发布时间】:2011-03-18 20:46:12
【问题描述】:

我是autosys的新手。。有人知道如何对特定工作进行正面和负面测试

【问题讨论】:

    标签: cron jobs autosys


    【解决方案1】:

    Autosys 似乎受到了极大的限制。您可以在 JOB2 中创建一个取决于 JOB1 成功的条件,例如成功(工作 1)。但似乎不支持与成功相反的条件。 Autosys 提供了一个 RUNNING 和一个 NOTRUNNING 条件,但由于某种原因,它们遗憾地省略了包含 NOTSUCCESS。

    到目前为止,我想出的最佳解决方法是使用以下 JIL 配置:

    insert_job: 0AM-7AM_BOX
    job_type: b
    start_times: "00:00"
    description: "Succeeds if JOB1 succeeds, TERMINATED if JOB1 does not succeed"
    term_run_time: 419
    
    insert_job: CHECK_THE_CONDITION
    job_type: c
    box_name: 0AM-7AM_BOX
    command: date
    condition: success(JOB1)
    description: "Succeeds if JOB1 succeeds"
    
    insert_job: ACT_ON_THE_CONDITION
    job_type: c
    command: [put the command you want to execute here]
    condition: SUCCESS(CHECK_THE_CONDITION)
    description: "Run the run between midnight and 7am if the condition is true"
    

    因此,如果 JOB1 在午夜和早上 7 点之间进入状态“SUCCESS”,那么 ACT_ON_THE_CONDITION 将立即运行。由于该命令只是对“date”的虚拟调用,因此它应该立即运行并变为“SUCCESS”,因此 0AM-7AM_BOX 框也将变为“SUCCESS”。

    另一种可能性是 JOB3 在早上 7 点之前没有进入状态“SUCCESS”。在这种情况下,“term_run_time”设置将导致盒子进入“TERMINATED”状态。

    总结一下,

    1. 如果 JOB1 成功,0AM-7AM_BOX -> SUCCESS
    2. 如果 JOB1 是除 SUCCESS 之外的任何内容,0AM-7AM_BOX -> TERMINATED

    这很有用,因为您随后可以设置依赖作业来测试成功条件或终止条件(因为 TERMINATED 是您可以放入条件的有效测试)。

    【讨论】:

      【解决方案2】:

      不确定您要测试什么。首先获取要在 Autosys 之外运行的命令或脚本。作为其中的一部分,测试命令或脚本错误处理。 Autosys 会将来自 a 命令的任何零退出代码报告为成功,因此请确保您的脚本在任何退出错误时发送非零退出代码。然后,您可以使用虚拟命令或脚本(如 sleep 命令)测试 autosys 作业是否按计划运行。然后您可以使用实时命令或脚本进行测试。

      要测试一个特定的作业,如果你强制启动该作业,它会运行成功,并且由 autosys 运行的命令生成的日志表明该命令是成功的。对命令作业进行否定测试将取决于正在运行的命令或脚本。更改作业之外的内容以使命令或脚本失败。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多