Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使azure批处理作业计划不等待上一次迭代_Azure_Azure Batch - Fatal编程技术网

使azure批处理作业计划不等待上一次迭代

使azure批处理作业计划不等待上一次迭代,azure,azure-batch,Azure,Azure Batch,我有一个Azure批处理服务,设置了每分钟运行的作业计划。 作业管理器任务在同一作业中创建3-10个任务 有时,作业中的其中一项任务可能需要很长时间才能完成,但通常速度非常快。 如果其中一个任务需要很长时间才能应用,那么在这种情况下,job manager任务的下一次迭代不会开始。它基本上会等待上一次迭代中的所有任务完成 是否有办法确保作业计划每分钟都创建一个作业版本,即使其上一次迭代中的所有任务尚未完成 我知道一个选择是让作业管理器任务创建额外的作业,而不是任务。但最好是,我希望在作业计划级别

我有一个Azure批处理服务,设置了每分钟运行的作业计划。 作业管理器任务在同一作业中创建3-10个任务

有时,作业中的其中一项任务可能需要很长时间才能完成,但通常速度非常快。 如果其中一个任务需要很长时间才能应用,那么在这种情况下,job manager任务的下一次迭代不会开始。它基本上会等待上一次迭代中的所有任务完成

是否有办法确保作业计划每分钟都创建一个作业版本,即使其上一次迭代中的所有任务尚未完成


我知道一个选择是让作业管理器任务创建额外的作业,而不是任务。但最好是,我希望在作业计划级别有一些配置,我可以打开这些配置,以允许计划创建任务,而不依赖于前一个作业的完成。

这似乎更倾向于设计问题,好吧,不,从az批处理的角度来看,重复的活动作业名称不应该是可行的。(如果这是可行的,我会得到纠正)

尽管为了进一步思考这一点,您可以通过以下途径或帖子阅读各种设计建议:


我认为简单性会更好,比如用唯一的工作名称或其他类型的东西来处理每个迭代,但您会更了解您的场景。希望这有帮助。

目前,作业计划在任何给定时间()下最多可以有一个活动作业,因此您看到的行为是预期的

我们没有任何简单的功能,您只需“打开”即可从单个作业计划中实现并发作业,但我有一个建议:

与其使用作业计划直接运行所有处理,不如使用它创建执行处理的“工作”作业

例如

  • 上午10:03,您的作业计划将触发以创建作业
    处理-20191031-1003
  • 上午10:04,您的作业计划将触发以创建作业
    处理-20191031-1004
  • 上午10:05,您的作业计划将触发以创建作业
    处理-20191031-1005
  • 等等
因为您的作业计划所做的唯一一件事就是创建另一个作业,它将很快完成,从而确保按时创建下一个作业

由于您现有的作业已经创建了数量可变的任务(您在上面提到了3-10个任务),我希望这不会对您的代码造成非常复杂的更改

请注意,您将需要确保您的并发工作者工作不会因为多次尝试做相同的工作而相互妨碍