azure - Azure Batch 作业是否需要观察程序进程?

标签 azure azure-blob-storage azure-batch

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

Azure Batch假设批处理作业运行时不需要有“观察者”进程,那么作业看起来与我们需要的完全一样。例如,如果我们可以让 Azure 函数捕获 BLOB 事件,启动批处理作业,以“即发即忘”类型的方式启 Action 业,然后函数结束,这正是我们所需要的。我们并不是真的太担心报告作业的进度(我们为此使用 SQL 表),我们只是想启 Action 业然后在带外监视它。

有没有办法启动批处理作业并让启动器进程消失,同时作业继续在后台运行?如果没有,有什么方法可以做到这一点,而无需不断运行的进程(Worker Role 或 Fabric Worker)?我们试图避免一个进程(Worker/Fabric 角色、使用应用程序功能计划的功能等)在 99.9% 的时间里没有执行任何操作时始终运行。

最佳答案

简短回答:不,您不需要观察者进程。

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

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

关于azure - Azure Batch 作业是否需要观察程序进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42101430/

相关文章:

asynchronous - 有人可以描述这个递归异步 Azure 存储调用中的逻辑流程吗?

azure - 如何以编程方式将数据写入Azure Blob存储?

Azure CDN Verizon Premium 隐藏 SAS token GET 方法错误 403

azure - 防止 Azure Blob 存储中的热链接

执行 VBS 文件的 Azure 批处理任务问题

azure - Nextflow 与 Azure Batch - 找不到匹配的 VM 镜像

azure - 部署在azure上后如何获取我的xml文件?

azure - 如何使用 EF6 处理 SQL Azure DDBB 的连接错误

azure - 在 Docker 文件中挂载 Azure Blob 存储

c# - 如何使用 .NET API 列出 Azure Batch 帐户中的所有任务?