Azure WebJobs:磁盘上没有足够的空间 [英] Azure WebJobs: There is not enough space on the disk

查看:74
本文介绍了Azure WebJobs:磁盘上没有足够的空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试压缩控制台应用程序并将其作为WebJob上载到Azure,就像我与其他人所做的一样,但是上载失败.没有给出解释.

I've tried zipping up a console app and uploading it to Azure as a WebJob, as I've done with others, but the upload fails. No explanation is given.

因此,我尝试通过FTP将其传输到那里.我放进去了

So then I tried FTPing it up there. I put it in

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

其中"FeedbackNotifications"是我的WebJob的名称.我从此网站中选择了路径.

Where "FeedbackNotifications" is the name of my WebJob. I took the path from this site.

上传完成,我可以看到Azure门户中列出的WebJob.但是,当我单击运行一次"时,它将失败.日志文件包含以下内容:

The upload completes and I can see the WebJob listed in the Azure portal. However, when I click "Run once" it fails. The log file contains the following:

[2015年5月20日15:26:22> e5f596:SYS INFO]状态已更改为 初始化

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

[2015年5月20日15:26:23> e5f596:SYS INFO]状态已更改 失败

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

[2015年5月20日15:26:23> e5f596:SYS错误]复制作业失败 文件:System.IO.IOException:磁盘上没有足够的空间.

[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.

在System.IO .__ Error.WinIOError(Int32 errorCode,字符串 位于System.IO.File.InternalCopy(String sourceFileName,字符串destFileName,布尔覆盖,布尔 位于System.IO.File.Copy(String sourceFileName,String)的checkHost) destFileName,布尔覆盖) System.IO.Abstractions.FileWrapper.Copy(String sourceFileName,String destFileName,布尔覆盖) Kudu.Core.Infrastructure.FileSystemHelpers.CopyDirectoryRecursive(String sourceDirPath,字符串destinationDirPath,布尔覆盖) Kudu.Core.Jobs.BaseJobRunner.b__0()在 Kudu.Core.Infrastructure.OperationManager.<> c__DisplayClass1.b__0() 在Kudu.Core.Infrastructure.OperationManager.Attempt [T](Func`1动作, Int32重试,Int32 delayBeforeRetry,Func` 2应该重试) Kudu.Core.Infrastructure.OperationManager.Attempt(Action action,Int32 重试,Int32 delayBeforeRetry)在 Kudu.Core.Jobs.BaseJobRunner.CacheJobBinaries(JobBase作业,IJobLogger 记录器)[05/20/2015 15:26:23> e5f596:SYS INFO]状态已更改为 失败[2015年5月20日15:26:23> e5f596:SYS ERR] WebJob运行失败,原因是 到:System.InvalidOperationException:在以下位置缺少工作目录 Kudu.Core.Jobs.BaseJobRunner.InitializeJobInstance(JobBase作业, IJobLogger记录器)位于 Kudu.Core.Jobs.TriggeredJobRunner.<> c__DisplayClass2.b__0(对象 _)

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.

The total size of the directory that contains everything is 115MB.

我还阅读了此页面,这表明长文件名可能是造成错误的原因,但是我没有更长的69个字符的文件名.

I've also read this page which suggests that long file names may be the cause of the fault, but I've no file names longer 69 characters.

更新:我注意到,当我尝试一个以前可以正常运行的附加WebJob时,会产生相同的错误.

UPDATE: I've noticed that when I try an additional WebJob which previously worked, it incurs the same error.

推荐答案

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

When the WebJob is invoked the first time (or when its binaries are updated), it is first copied to the %TEMP% directory and will run from there.

免费(sku)天蓝色网站在Temp目录(实际上在d:\local中)的磁盘空间有限,为500MB. 看来您已经达到目标,因此WebJob无法启动.

Free (sku) azure websites have a limited amount of disk space in the Temp directory (actually in d:\local) which is 500MB. It seems you have reached it and so WebJob fails to start.

要进行验证,您可以转到scm站点的调试控制台(https://{sitename} .scm.azurewebsites.net/DebugConsole)并在d:\local(pushd d:\local)上查询可用空间,或单击 Earth 按钮).

To verify you can go to your scm site's debug console (https://{sitename}.scm.azurewebsites.net/DebugConsole) and query for the free space on d:\local (pushd d:\local or clicking on the Earth button).

这篇关于Azure WebJobs:磁盘上没有足够的空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆