Azure批处理作业是否需要观察程序?

时间:2017-02-07 22:44:46

标签: azure azure-storage-blobs azure-batch

我们希望从写入Azure存储的BLOB文件中触发一个非常长的运行操作(可能是几天)。这项工作可以在一年内开始,从不开始,或者在几天内开始很多次。

Azure Batch工作看起来与我们需要的一样,假设不需要成为观察者'在批处理作业运行时进行处理。例如,如果我们可以让Azure函数捕获BLOB事件,则启动批处理作业,在" fire中启动作业并忘记"类型时尚,然后功能结束它正是我们需要的。我们并不太担心报告作业的进度(我们正在使用SQL表),我们只想启动作业然后在带外监视它。

有没有办法启动批处理作业,并且当作业继续在后台运行时让发起人进程消失?如果没有,是否有任何方法可以做到这一点,而无需持续运行的进程(工作者角色或Fabric工作者)?我们试图避免在99.9%的时间没有做任何事情的情况下一直运行一个进程(工作者/结构角色,使用应用程序功能计划的功能等)。

1 个答案:

答案 0 :(得分:1)

简短回答:不,你不需要观察员程序。

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

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