代码之家  ›  专栏  ›  技术社区  ›  Avius

检测Azure批处理作业的结束

  •  0
  • Avius  · 技术社区  · 6 年前

    在我的应用程序中,我创建了一个Azure批处理作业。这是一个节点应用程序,我使用azure批处理节点客户端,但我也可以使用REST,我认为这无关紧要。不过,我不能换成客户。

    我希望在几秒钟内完成任务,并希望暂停代码,直到批处理任务结束,但是 我不知道如何在不轮询作业状态API的情况下检测作业的结束 . 节点客户端和REST API都不公开这样的功能。我以为我可以登记参加某种活动,但找不到这样的活动。有工作 发布任务 但我不确定我能不能用它们来实现这个目标。

    你知道如何在我的应用程序中检测到Azure批处理作业的结束吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   brklein    6 年前

    一种方法是,将任务添加到作业后,将作业的onAlltaskComplete属性设置为“terminatejob”。

    然后,您可以轮询Job Get API,并在作业完成时检查作业的state属性( https://docs.microsoft.com/en-us/rest/api/batchservice/job/get#jobstate https://docs.microsoft.com/en-us/javascript/api/azure-batch/job?view=azure-node-latest#get-string--object- ).