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
或单击 地球 按钮)。
我试过压缩控制台应用程序并将其作为 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
或单击 地球 按钮)。