我使用一个批处理作业通过API读取和更新图像。这些图像是从一个文件夹中读取的,该文件夹中可能有数百张可用的图像。由于它是相当沉重的服务器,我只想读取和处理100个图像,然后停止进程,并在几个小时后读取另100个图像等。
我已经设置了批处理块大小为100,但批处理作业将继续运行几个小时,直到处理完文件夹中的所有图像。我如何使它只是读取和处理100个图像,然后再次停止?
提前谢谢。
###你不能,你甚至不应该尝试。Batch被设计用来处理它接收到的所有记录。
一个解决方案是发送更少的记录。例如,从文件夹中读取更少的记录,或者丢弃除前100条以外的所有记录。
另一种解决方案是让批处理处理所有的记录,但将并发减少到1,这样记录就会按顺序块块地处理。
列表操作似乎没有办法配置,但它的输出是一个消息数组。您可以使用DataWeave脚本来分割数组。例如,take()操作似乎只做需要做的事情。它将返回数组的前n个元素。
请注意,您必须确保这些元素被使用,否则它们将一直被处理。