设置 Azure Batch MaxWallClockTime 节点 SDK

Set Azure Batch MaxWallClockTime Node SDK

我正在尝试使用 ISO 8601 持续时间格式将 maxWallClockTime 设置为 72 小时。使用 CLI 时的 documentation for this property is useless, so I'm basing my guess on using the 8601 format on that being the way to set the same property at the Batch Job level。我的约束对象如下:

const taskConstraints = {
   maxWallClockTime: 'P3D' //ISO 8601 Duration Format e.g. P3Y6M4DT12H30M5S represents a duration of three years, six months, four days, twelve hours, thirty minutes, and five seconds.
};

但是,这会导致以下错误:

task.constraints.maxWallClockTime must be a TimeSpan/Duration.

我找不到任何设置此 属性 并使用 Javascript API 的示例,将不胜感激任何指向更好的文档或示例代码的指针。

同意这里缺少文档。我还没有在本地对此进行测试,但通过查看代码,我相信答案取决于您是否使用旧的 Node.js-specific azure-batch package or the newer @azure/batch,它也在网络浏览器中运行。

对于“azure-batch”包,它看起来需要一个 Moment.js 持续时间对象。这是相关的 JSDoc 字符串:

 * @property {moment.duration} [maxWallClockTime] The maximum elapsed time
 * that the Task may run, measured from the time the Task starts. If the Task
 * does not complete within the time limit, the Batch service terminates it.
 * If this is not specified, there is no time limit on how long the Task may
 * run.

对于较新的“@azure/batch”包,它应该采用 ISO-8601 持续时间字符串。如果您正在使用该包,那么您尝试使用的值对我来说是正确的,也许这是一个错误(我必须尝试重现它)。