2017-07-19 106 views
0

我遇到了退出代码为null的任务问题。通过此退出码,我注意到我无法访问节点上的文件以检查stderr和stdout文件。可能是什么问题呢?另外,空退出代码的含义是什么,以及如何在出现失败的情况下将退出代码设置为非空?退出代码为null的任务

谢谢!

回答

1

您需要检查executionInfo属性中的任务failureInfo字段。

在任务下执行的进程(要执行的命令)的任务失败和应用程序逻辑失败之间存在差异。任务失败可能是许多事情,例如任务无法下载的资源文件。由于某种原因无法正常启动的进程也是一项任务失败。但是,如果进程确实启动并执行,但进程本身“失败”(按照应用程序逻辑)并返回非零退出代码,并且任务未遇到其他问题,则此任务将保存正确的退出代码。因此,如果任务以null退出代码完成,则需要根据上述内容与任何stdout/stderr日志(如果存在)一起查阅failureInfo字段。

+0

我收到BlobAccessDenied的错误。我怀疑获取运行任务所需的应用程序包时出错。由于无法找到stdout/stderr日志,因此似乎该任务在节点中运行。你认为这可能是问题吗?如果是,是否有办法检查从存储获取应用程序包是否成功? –

+0

'BlobAccessDenied'将阻止执行进程命令。你有没有在任务上指定任何资源文件? – fpark

+0

我没有资源文件,但我有一个应用程序包。我基本上是用一个jobmanager任务创建一个工作,它应该从应用程序包中获取其可执行文件。我现在的猜测是JobManagerTask不支持VM配置中的应用程序包,因为门户中没有选项,并且我以编程方式将包添加到作业管理器任务时不断收到此错误。真的吗? VM配置中的作业管理器任务是否支持应用程序包? –