spring-boot - 如何重新启动失败的spring批处理csv插入mysql?
问题描述
我有一个简单的项目,用于将 csv 文件处理到 mysql 中。我的问题是哪一种是处理失败插入恢复的智能方法。例如,在一个 100 行的文件中,我插入了 10 行,然后 vm 崩溃,当我重新启动应用程序时,它会再次插入所有行,但我要从 11 开始。我正在分块处理文件。
问候
解决方案
假设您正在关注类似于https://spring.io/guides/gs/batch-processing/的 Spring Batch 项目,那么您可以遵循有关作业可重启性的各种规则。Spring Batch 将跟踪您的工作进度(例如已经提交了多少块),因此在失败的情况下您可以从中断的地方恢复。
在更详细的信息中,Spring Batch元数据表会跟踪您的工作的详细信息,包括每个步骤中的commit_count。这些详细信息在完成后会保留在您的数据库中,因此即使在灾难恢复之后重新启动时,有关您的作业的数据也将可用。
推荐阅读
- r - 如何使用多列执行左连接,其中一个数据框在一列中缺失?
- wordpress - 通过 RESTClient 或 INDY 或任何其他方式将图像上传到 Delphi 10.4 中的 WordPress WP REST api
- php - 在 MySQL 更新语句中使用会话变量
- go - 如何在 Go 中将 Base 64 字符串转换为 GIF
- list - 输入'列表
' 不是类型 'Map 的子类型 ' 需要将地图列表转换为地图 - sql - golang和sqlc,生成查询时出现指针问题
- html - 如何将排好序的列重置为其初始状态
- python - 如何使用自定义 COCO 风格的数据集重新训练 Torchvision 的关键点 R-CNN?
- redux - 嗨,我在为我的 redux 简单启动器样板运行 npm start 时遇到了问题。我可以知道如何解决显示的错误吗?
- javascript - 调用不带括号的 JS 函数?