我有一个批处理过程,用PHP编写,嵌入到一个Docker容器中。基本上,它从几个webservices加载数据,对数据进行一些计算(在~1h期间),并将计算出的数据发布到另一个webservice,然后容器退出(返回代码为0,如果OK,则返回代码为1,如果进程中的某个地方失败)。在此过程中,会在STDOUT或stderr上写入一些日志。批处理必须每天触发一次。
我想知道用来调度、执行和监视批处理过程的最佳AWS服务是什么:
现在,深入法盖特,我想让我的任务每天执行一次。
>
当我使用ECS的调度任务特性时,它似乎工作得很好:容器准时启动,流程运行,然后容器停止。但是CloudWatch缺少一些度量:没有报告CPUReservation和CPUUVERATILY。此外,无法知道批处理是退出代码为0还是退出代码为1(所有执行停止,状态为“stopped”)。因此,如果容器执行失败,我无法发送CloudWatch警报。
以下是我的问题:什么是最合适的AWS托管服务来每天触发一次容器,让它运行来完成它的任务,并且有报告功能来跟踪执行(CPU使用情况,批处理持续时间),包括当任务失败时的警报(SNS)?
我们在识别失败的作业时也遇到了同样的问题。我建议您研究一下AWS批处理,在该批处理中,CloudWatch日志中提供了失败作业的日志;看看这里。您还应该考虑的一件事是最终选择的任何解决方案的总拥有成本。法盖特,在这方面,是相当昂贵的。
我们使用Spring Batch进行一些处理,通过Reader读取一些ID,我们希望通过处理器将它们处理为“块”,然后写入多个文件。但是处理器接口一次只允许处理一个项目,我们需要进行批量处理,因为处理器依赖于第三方,不能为每个项目调用服务。 我看到我们可以为“块”中涉及的所有读取器-处理器-写入器创建包装器,以处理列表<>并委托给一些具体的读取器/处理器/写入器。但这对我来说并不是件好事。像这样:
我使用的是spring批处理,和通常使用的一样,我有读取器、处理器和写入器。 我有两个问题 1>Reader查询所有200条记录(表中记录总大小为200,我给出了pageSize=200),因此它得到所有200条记录,在处理器中,我们需要所有这些记录的列表,因为我们必须将每个记录与其他199条记录进行比较,以便将它们分组在不同的层中。因此我在想,如果我们能在处理步骤中得到那个列表,我就可以操纵它们
我正在尝试将XBee输出的段分组到一个变量中,该变量将它们连接起来。我正在使用Processing来编码和编译。我遇到的问题是输出(println)每隔一个字节就跳过一次(也许这是错误的术语)。因此i=4到11的XBee输出应该如下所示: 0,19,162,0,64,121,230,206(这是由十六进制转换的XBee地址)。
我是Spring Batch的新手。我的要求是我有一个阅读器,它通过Web服务调用/数据库调用获取记录,目前我正在将这些记录写入一个表。现在我需要处理相同的记录(阅读器读取的记录)并写入另一个表。这里要注意的一点是,第二次写入中存储的第二个项目是不同类型的第一次写入。 我需要像下面这样 对于上述相同的工作,我需要事务管理。此外,在步骤2中:-如果可能,我应该使用步骤1中已经读取的数据。
我定义了一个块,提交间隔为10,跳过限制为10。处理器类通过应用一些算术运算来操作字段。其中一条记录(比如第6条记录)在处理器类中发生异常。在此之后,再次处理1到5条记录,跳过第6条记录,处理7到10条记录,并将其写入XML(自定义XML编写器类)。由于处理器处理1-5条记录两次,因此预期字段值计算两次是错误的。您能否建议一种解决方案,让处理器只处理一次记录,只跳过失败的记录,并将处理后的记录写入
关于skip,我有一个非常基本的问题。我正在使用spring示例提供的spring batch simple cli项目,并试图理解跳过行为。它有一个非常基本的示例读取器,可以读取字符串数组(我将其修改为从Hellowworld 1到Hellowworld 10的10个字符串列表中读取),还有一个基本的编写器,可以登录到控制台。writer抛出java。每写一次都有例外。我在作业配置中增加了4个跳