Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Azure批处理作业中是否需要删除任务和池?_.net_Azure_Azure Batch - Fatal编程技术网

.net Azure批处理作业中是否需要删除任务和池?

.net Azure批处理作业中是否需要删除任务和池?,.net,azure,azure-batch,.net,Azure,Azure Batch,显示删除任务,然后删除作业,然后删除池。同时,我发现这是关于清理的,它不是删除作业和池,而是删除不再使用的VM。这是一个好策略吗?我发现它可以帮助跟踪任务和一般组织,但删除已完成任务的VM后保留任务、作业和池有什么意义 更新2018-05-15 给定作业中的最大任务数为7770 我遵循了下面的答案,最终得到了一份累积了7770项任务的工作。在这个神奇的数字之后,批处理服务无法再向作业添加新任务,引发以下异常: System.AggregateException: One or more erro

显示删除任务,然后删除作业,然后删除池。同时,我发现这是关于清理的,它不是删除作业和池,而是删除不再使用的VM。这是一个好策略吗?我发现它可以帮助跟踪任务和一般组织,但删除已完成任务的VM后保留任务、作业和池有什么意义

更新2018-05-15

给定作业中的最大任务数为7770

我遵循了下面的答案,最终得到了一份累积了7770项任务的工作。在这个神奇的数字之后,批处理服务无法再向作业添加新任务,引发以下异常:

System.AggregateException: One or more errors occurred. ---> Microsoft.Azure.Batch.Common.BatchException: InternalError: Server encountered an internal error. Please try again after some time.
RequestId:e6ab60e0-5c3b-4116-9ffb-ba2032154318
Time:2018-05-15T11:17:17.2186951Z
   at Microsoft.Azure.Batch.Protocol.CloudPoolOperations.<GetAsync>d__65.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.Batch.Protocol.BatchRequest`2.<ExecuteRequestWithCancellationAsync>d__c.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.Batch.Protocol.BatchRequest`2.<ExecuteRequestAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.Batch.ProtocolLayer.<ProcessAndExecuteBatchRequest>d__11b`2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.Azure.Batch.PoolOperations.<GetPoolAsync>d__3.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Microsoft.Azure.Batch.PoolOperations.GetPool(String poolId, DetailLevel detailLevel, IEnumerable`1 additionalBehaviors)
   at Pepe.Helpers.Batch.CreatePool()
   at Pepe.Helpers.LogEntryMaintainer.LaunchJob(LogFile log, PepeEntities db)
System.AggregateException:发生一个或多个错误。-->Microsoft.Azure.Batch.Common.BatchException:内部错误:服务器遇到内部错误。请稍后再试。
请求ID:e6ab60e0-5c3b-4116-9ffb-ba2032154318
时间:2018-05-15T11:17:17.2186951Z
在Microsoft.Azure.Batch.Protocol.CloudPoolOperations.d_u65.MoveNext()上
---来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在Microsoft.Azure.Batch.Protocol.BatchRequest`2.d_uc.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
位于Microsoft.Azure.Batch.Protocol.BatchRequest`2.d_uu2.MoveNext()
---来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在Microsoft.Azure.Batch.ProtocolLayer.d_u11b`2.MoveNext()上
---来自引发异常的上一个位置的堆栈结束跟踪---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)
在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务任务)中
在Microsoft.Azure.Batch.PoolOperations.d_u3.MoveNext()上
---内部异常堆栈跟踪的结束---
位于System.Threading.Tasks.Task.ThrowifeException(布尔值IncludeTaskCanceledException)
在System.Threading.Tasks.Task.Wait(Int32毫秒计时,CancellationToken CancellationToken)
位于Microsoft.Azure.Batch.PoolOperations.GetPool(字符串poolId、DetailLevel、DetailLevel、IEnumerable`1 additionalBehaviors)
在Pepe.Helpers.Batch.CreatePool()上
在Pepe.Helpers.logentrymainter.LaunchJob(日志文件日志,pepeenties数据库)

我建议定期清理历史数据。如果您需要将这些信息保留在某个位置,我建议您移动到某个位置,例如表存储。

您根本不需要删除任务或它们的作业,将它们留在系统中也没有任何实际的缺点。但是,您确实需要在完成时终止作业,因为批处理帐户中的活动作业数量有配额

关于池和虚拟机,如何管理资源实际上取决于您自己(特别是考虑到这些成本)。常见的方法包括:

  • 显式创建一个池以运行一个或多个作业。完成后删除池。如果要增加/减少VM的数量,还可以显式调整池的大小
  • 使用自动池功能指定要随作业提交自动创建的池。作业终止时,池将自动删除
  • 显式创建一个池并定义一个自动缩放公式,该公式可以在提交和完成作业时上下缩放池。这是一个非常强大的功能,可以最大限度地提高资源利用率和降低成本

希望这会有所帮助。

您根本不需要删除任务或它们的作业,将它们留在系统中也没有什么真正的负面影响。但是,您确实需要在完成时终止作业,因为批处理帐户中的活动作业数量有配额

关于池和虚拟机,如何管理资源实际上取决于您自己(特别是考虑到这些成本)。常见的方法包括:

  • 显式创建一个池以运行一个或多个作业。完成后删除池。如果要增加/减少VM的数量,还可以显式调整池的大小
  • 使用自动池功能指定要随作业提交自动创建的池。作业终止时,池将自动删除
  • 显式创建一个池并定义一个自动缩放公式,该公式可以在提交和完成作业时上下缩放池。这是一个非常强大的功能,可以最大限度地提高资源利用率和降低成本

希望有帮助。

批处理文件标签适用于Windows.bat文件。不确定这与此有什么关系。@Squashman它不断地将“批处理”更改为“批处理文件”。奇怪的是,批处理文件标签是针对Windows.bat文件的。不确定这与此有什么关系。@Squashman它不断地将“批处理”更改为“批处理文件”。奇怪的事。