2015-05-20 128 views
1

我試過壓縮一個控制檯應用程序並將其作爲WebJob上傳到Azure,正如我與其他人一樣,但上傳失敗。沒有給出解釋。Azure WebJobs:磁盤空間不足

所以然後我嘗試在那裏進行FTP傳輸。我把它放在

/site/wwwroot/App_Data/jobs/triggered/FeedbackNotifications 

其中「FeedbackNotifications」是我的WebJob的名稱。我從this site的路徑。

上傳完成後,我可以看到Azure門戶中列出的WebJob。但是,當我點擊「運行一次」失敗。日誌文件包含以下內容:

[2015年5月20日十五時26分22秒> e5f596:SYS INFO]狀態改變爲 初始化

[2015年5月20日15時26分23秒> e5f596:SYS INFO]狀態改變 以失敗

[2015年5月20日十五點26分23秒> e5f596:SYS ERR]無法複製工作 文件信息:System.IO.IOException:沒有足夠的空間在磁盤上。

在System.IO .__ Error.WinIOError(的Int32的errorCode,字符串 maybeFullPath)在System.IO.File.InternalCopy(字符串 sourceFileName,字符串destFileName,布爾重寫,布爾 checkHost)在有System.IO.File。拷貝(字符串sourceFileName,字符串 destFileName,布爾覆蓋)在 System.IO.Abstractions.FileWrapper.Copy(字符串sourceFileName,字符串 destFileName,布爾覆蓋)在 Kudu.Core.Infrastructure.FileSystemHelpers.CopyDirectoryRecursive(字符串 sourceDirPath, String destinationDirPath,Boolean overwrite) Kudu.Core.Jobs.BaseJobRunner.b__0()at Kud u.Core.Infrastructure.OperationManager。 <> c__DisplayClass1.b__0() 在Kudu.Core.Infrastructure.OperationManager.Attempt [T](Func`1動作, 的Int32重試的Int32 delayBeforeRetry,函數功能` 2 shouldRetry)在 Kudu.Core.Infrastructure.OperationManager.Attempt (Action action,Int32 retries,Int32 delayBeforeRetry)at Kudu.Core.Jobs.BaseJobRunner.CacheJobBinaries(JobBase job,IJobLogger logger)[05/20/2015 15:26:23> e5f596:SYS INFO] Status changed to 失敗[二零一五年五月二十零日15點26分23秒> e5f596:SYS ERR] WebJob運行失敗,原因 來信息:System.InvalidOperationException:在 Kudu.Core.Jobs.BaseJobRunner.InitializeJobInstance(JobBase工作缺少工作目錄, IJobLogger logge r) Kudu.Core.Jobs.TriggeredJobRunner。 <> c__DisplayClass2.b__0(對象 _)

包含一切是115MB的目錄的總大小。

我也讀過this page這表明長文件名可能是故障的原因,但我沒有更長的69個字符的文件名。

UPDATE:我注意到,當我嘗試一個額外的WebJob,它以前的工作,它會導致相同的錯誤。

+0

你在使用免費的網站嗎? –

+0

不,這是我們的MSDN訂閱的一部分,無限支出。 – awj

+1

但是該網站本身是一個免費網站? (網站正在使用的計劃的sku) –

回答

3

當第一次調用WebJob時(或更新其二進制文件時),它首先被複制到%TEMP%目錄並從那裏運行。

免費(SKU)天藍色網站在Temp目錄(實際上在d:\local)有500MB的磁盤空間有限。 看來你已經達到它,所以WebJob無法啓動。

要驗證你可以去你的供應鏈管理網站的調試控制檯(https://開頭{SITENAME} .scm.azurewebsites.net/DebugConsole),查詢有關d:\local自由空間(pushd d:\local或點擊地球按鈕)。

+0

這很可能是原因。我只是將網站從「免費」重新配置爲「基本」,然後運行(然後失敗,但由於我的代碼中存在異常)。這種情況下,重複上傳次數較少的代碼更改會連續計數爲「首次運行」?否則,爲什麼它會運行,並且只有經過多次修改和重新上傳後纔會發生錯誤?另外,如果我刪除WebJob,它是否也會從'%TEMP%'中刪除? – awj

+1

WebJob從'%TEMP%'中被刪除,但是盡力而爲,因此可能會有一些剩餘的文件存在,重新啓動到該網站將會刪除TEMP目錄,您也可以瀏覽它並查看內容。 –

相關問題