Azure WebJobs:磁盘上 space 不足

Azure WebJobs: There is not enough space on the disk

我试过压缩控制台应用程序并将其作为 WebJob 上传到 Azure,就像我对其他人所做的那样,但上传失败。没有给出任何解释。

然后我尝试将它上传到那里。我把它放在

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

其中 "FeedbackNotifications" 是我的 WebJob 的名称。我选择了 this site.

的路径

上传完成,我可以看到 Azure 门户中列出的 WebJob。但是,当我单击 "Run once" 时,它失败了。日志文件包含以下内容:

[05/20/2015 15:26:22 > e5f596: SYS INFO] Status changed to Initializing

[05/20/2015 15:26:23 > e5f596: SYS INFO] Status changed to Failed

[05/20/2015 15:26:23 > e5f596: SYS ERR ] Failed to copy job files: System.IO.IOException: There is not enough space on the disk.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost) at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite) at System.IO.Abstractions.FileWrapper.Copy(String sourceFileName, String destFileName, Boolean overwrite) at Kudu.Core.Infrastructure.FileSystemHelpers.CopyDirectoryRecursive(String sourceDirPath, String destinationDirPath, Boolean overwrite) at Kudu.Core.Jobs.BaseJobRunner.b__0() at Kudu.Core.Infrastructure.OperationManager.<>c__DisplayClass1.b__0() at Kudu.Core.Infrastructure.OperationManager.Attempt[T](Func`1 action, Int32 retries, Int32 delayBeforeRetry, Func`2 shouldRetry) at 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 Failed [05/20/2015 15:26:23 > e5f596: SYS ERR ] WebJob run failed due to: System.InvalidOperationException: Missing working directory at Kudu.Core.Jobs.BaseJobRunner.InitializeJobInstance(JobBase job, IJobLogger logger) at Kudu.Core.Jobs.TriggeredJobRunner.<>c__DisplayClass2.b__0(Object _)

包含所有内容的目录总大小为 115MB。

我也读过 this page 这表明长文件名可能是错误的原因,但我没有超过 69 个字符的文件名。

UPDATE:我注意到,当我尝试另一个以前工作过的 WebJob 时,它会引发相同的错误。

第一次调用 WebJob 时(或更新其二进制文件时),它首先被复制到 %TEMP% 目录,然后将从那里 运行。

免费 (sku) azure 网站在 Temp 目录(实际上在 d:\local)中的磁盘数量有限 space,即 500MB。 您似乎已经达到了它,因此 WebJob 无法启动。

要验证您可以转到您的 scm 站点的调试控制台 (https://{sitename}.scm.azurewebsites.net/DebugConsole) 并在 [= 上查询免费的 space 11=](pushd d:\local 或单击 地球 按钮)。