2017-02-07 102 views
0

我们有一个很长的运行操作(可能有几天),我们希望从写入到Azure存储的BLOB文件触发。这项工作可以在一年内开始,从未或过几天开始。Azure批量作业是否需要观察器进程?

Azure Batch工作看起来完全像我们所需要的,假设在批处理作业运行时不需要成为'观察者'进程。例如,如果我们可以让一个Azure函数捕获BLOB事件,启动一个批处理作业,以“即热即忘”的方式启动作业,然后函数结束它正是我们需要的。我们并不太担心报告工作的进展(我们正在使用SQL表),我们只想开始工作,然后监控它的带外。

有没有办法启动批处理作业,并让作业进程在作业继续在后台运行时消失?如果没有,有没有办法做到这一点,而不必有一个不断运行的过程(工人角色或织物工作者)?当99.9%的时间没有做任何事情时,我们试图避免有一个流程(工作者/结构角色,使用应用功能计划的功能等)运行。

回答

1

简答:不,您不需要观察程序进程。

Azure批处理任务本质上是异步的。添加任务时(在作业下),针对批处理服务的调用立即返回,同时提交操作本身成功或失败(并且不是在任务在计算节点上成功完成)。批处理服务负责在池中可用计算节点之间安排任务,内部监控任务进度,更新统计信息等。

如果您选择这样做,您可以监视任务的进度独立于使用任何SDK,REST API或客户端工具的提交actor。或者,您可以选择自行监控它,正如您所描述的,如果您的任务正在更新外部监视器或数据存储。或者您可以安排任务而不监控它,该服务不会强制您监视/监视任务。

+0

您还可以启用自动缩放公式,在没有人注视时关闭未使用的节点;) –

相关问题