【问题标题】:Add Tasks to a running Azure batch job and manually control termination将任务添加到正在运行的 Azure 批处理作业并手动控制终止
【发布时间】:2018-05-06 06:24:34
【问题描述】:

我们有一个 Azure 批处理作业,它使用一些非常大的文件,我们将这些文件异步上传到 Azure Blob 存储,这样我们就不必等待所有文件都上传完毕,然后再开始我们的批处理作业,该批处理作业由一组将处理每个文件并生成输出的任务。到目前为止一切顺利 - 一切正常。

我希望能够创建一个 Azure 任务并将其添加到现有的、正在运行的 Azure 作业中,这会增加任务列表的长度,但我找不到如何执行此操作。 Azure 似乎希望您在作业开始之前为任务定义所有作业,然后它运行直到所有任务完成并终止作业(这在某些情况下是有意义的 - 但不是我的)。

我想禁止这种作业完成行为,并能够为同一作业排队其他 Azure 任务。然后我可以监控 Azure 作业状态(通过任务)并确定作业是否完成。

我们的问题是上传多 MB 文件需要时间,我们希望任务处理在第一个文件可用时立即开始。如果我们必须等到所有文件都可用,那么我们的处理开始就会延迟,这不是我们需要的。

我们“可以”为每个任务创建一个作业并在我们的应用程序中对其进行管理,但这有点“混乱”,如果可能的话,我想使用封装的 Azure 作业实体和支持功能。

有没有人这样做并且可以提供一些指导?非常感谢?

【问题讨论】:

    标签: azure azure-batch


    【解决方案1】:

    您可以将新任务添加到处于active 状态的现有 Azure Batch 作业。 Azure Batch 作业没有 running 状态。您可以找到 Azure Batch 作业状态列表here

    默认情况下,Azure 批处理作业不会在所有任务完成后自动终止。您可以查看有关此主题的相关question

    【讨论】:

    • 谢谢 - 这对我来说很清楚,意味着我们可以按照 Azure 批处理架构“干净地”实施此解决方案。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2021-09-02
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 2012-09-12
    • 1970-01-01
    相关资源
    最近更新 更多