这是 pegasus-exitcode 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
pegasus-exitcode - 检查工作流作业的 stdout/stderr 文件是否有任何指示
作业中发生错误。 此脚本旨在由以下人员自动调用
DAGMan 作为作业的 POST 脚本。
概要
飞马退出代码 [-h][-r rv][-n][-s 味精][-f 味精] 工作输出
商品描述
飞马退出代码 是一个实用程序,用于检查作业的 STDOUT 以确定作业是否
失败,并重命名作业的 STDOUT 和 STDERR 文件以保留它们以防作业
重试。
飞马使用 飞马退出代码 作为通过 Globus GRAM 提交的作业的 DAGMan 后记。
此工具作为 Globus 和 Condor-G 已知问题的解决方法存在,其中
不返回 GRAM 作业的退出代码。 这是一个问题,因为 Pegasus 使用
作业的退出代码以确定作业是否失败。
为了解决退出码问题,Pegasus 可以使用 Kickstart 包装 GRAM 作业,
它在 XML 调用记录中记录作业的退出代码,并将其写入
工作的标准输出。 STDOUT 从执行主机传输回提交主机
当工作终止时。 作业终止后,DAGMan 运行作业的后记,其中
飞马座将成为 飞马退出代码. 飞马退出代码 查看调用记录
由 kickstart 生成以查看作业是成功还是失败。 如果调用记录
表示失败,然后 飞马退出代码 返回一个非零结果,这表明
DAGMan 表示作业失败。 如果调用记录表明作业成功,
然后 飞马退出代码 返回 0,这告诉 DAGMan 作业成功。
此外,集群作业执行 飞马集群 or 飞马-mpi-集群 将有
一个 [cluster-summary] 记录在他们的 STDOUT 中。 飞马退出代码 可以检查这些记录
确定集群作业中的任何任务是否失败。
飞马退出代码 执行多项检查(一些可选)以确定作业是否失败
或不。 这些检查包括:
1. Condor 退出代码是否非零? 如果是这样,则作业失败。
2. STDOUT 是否为空? 如果为空,则作业失败。
3. STDOUT 或 STDERR 中是否有任何失败消息? 如果是,则作业失败。
4. STDOUT 或 STDERR 中是否包含所有成功消息? 如果不是,则作业失败。
5. [cluster-summary] 记录是否表示作业成功。 如果没有,那么
作业失败。
6. 有没有具有非零值的标签? 如果有,则作业失败。
请注意,如果这是一个集群作业,则可能有多个标签,一个用于
每个任务。 如果其中任何一个不为零,则作业失败。
7. 是否至少有一个标签为零值? 必须至少有一个
成功调用或作业失败。
此外, 飞马退出代码 允许调用者指定 Condor 返回的退出代码
使用 - 返回 争论。 这可以传递给 飞马退出代码 在 DAGMan 帖子中
使用 $RETURN 变量编写脚本。 如果该值不为零,则 飞马退出代码
在执行任何其他检查之前返回非零结果。 对于 GRAM 作业,值
无论作业是否失败,$RETURN 将始终为 0。
除了检查工作的成功/失败, 飞马退出代码 还重命名
作业的 STDOUT 和 STDERR 文件,以便如果重试作业,则 STDOUT 和 STDERR
之前的运行不会丢失。 它通过在末尾附加一个序列号来实现
文件。 例如,如果 STDOUT 文件被称为“job.out”,那么第一次
作业运行 飞马退出代码 将重命名文件“job.out.000”。 如果作业再次运行,
然后 飞马退出代码 看到“job.out.000”已经存在并重命名文件
“job.out.001”。 它将通过增加序列号继续重命名文件
每次执行作业时。
配置
-h, - 帮帮我
打印包含所有可用命令行选项的使用摘要。
-r rv, - 返回 rv
DAGMan 报告的返回值。 这可以在 DAG 中使用 $RETURN 指定
多变的。 如果这是非零,那么 飞马退出代码 立即失败,非零
返回值本身。 如果为零,则只需旋转文件而不检查
正确的 kickstart 输出。 在无法启动 kickstart 的情况下可以使用此选项
用于(例如 pegasus-create-dir)启用文件轮换。
-n, --no-重命名
不要重命名 工作输出 和 作业错误 至 .out.XXX 和 .错误.XXX. 这个选项被使用
主要用于测试。
-f 味精, --失败消息 味精
在作业标准输出/标准错误中找到失败消息。 如果此消息存在于
作业的 stdout/stderr,那么无论怎样,作业都将被视为失败
存在其他输出。 如果提供了多个失败消息,则它们都不能
存在于输出中或作业被视为失败。
-s 味精, --成功消息 味精
在作业标准输出/标准错误中找到的成功消息。 如果此消息不存在于
作业的 stdout/stderr,那么无论怎样,作业都将被视为失败
存在其他输出。 如果提供了多个成功消息,则它们必须全部
存在于输出中或作业被视为失败。
作者
吉迪恩尤文[电子邮件保护]>
飞马队 http://pegasus.isi.edu
使用 onworks.net 服务在线使用 pegasus-exitcode