2017-07-19 46 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配置中的作業管理器任務是否支持應用程序包? –