当前位置: 首页 > 知识库问答 >
问题:

重新加载:在批处理运行期间抑制错误

淳于凯
2023-03-14

我有一个模型,其中包含一些与多个集线器相关的计算,每个集线器都有一个唯一的集线器代码。因此,我将批处理运行配置为一个集线器代码列表。但是,某些集线器可能会出现一些错误。在这种情况下,批处理运行将在错误发生时自动停止。

我想知道我是否可以配置告诉批处理运行自动跳转报告错误的集线器,并继续计算剩余的集线器以完成集线器的整个批处理运行列表。

澄清问题的最新情况:

我的批处理运行配置由两个关键参数组成。中心名称和日期。“中心名称”是所有中心代码的列表。我要模拟300个集线器。“日期”表示枢纽特定日期的需求数据。我已将日期范围设置为1到5。此后,我将模拟300 x 5的场景组合,形成批处理运行配置。

然而,批处理运行可能会中断,因为模拟某些集线器场景时缺少部分输入数据(例如,一些集线器没有完整的5天需求数据,当模型提取缺少的特定日期的输入数据时,模型报告运行时错误,导致整个批处理运行结束)。因此,在现实中,没有完整的300 X 5可行方案,有些方案缺失或无效。

如果有一些错误,我希望批处理运行跳转模拟场景,并继续模拟其余的有效场景。例如,如果我有Hub-1、Hub-2、Hub-3、Hub-4、Hub-5作为批处理场景。如果这5个场景恰好分配给同一个cpu内核,我希望它能完成它能完成的任何事情。即如果Hub-3报告错误,批处理运行将跳转它并继续模拟Hub-4和Hub-5场景。所以最后我仍然可以得到Hub-1,2,4,5结果,除了Hub-3报告错误,因此为空结果。

更新:回溯信息:(似乎是try-catch异常(RunEnvironment.getInstance()。endRun();)在初始化中不起作用(上下文生成器)

共有1个答案

劳烨
2023-03-14

如果您捕获异常并调用RunEnvironment.getInstance(). endRun()可能足以优雅地退出。不过,您最终可能会得到空输出。

如果在初始化过程中发生这种情况,您可以捕获错误并将运行安排为在任何模型行为发生之前以非常小的数量结束。

 类似资料:
  • 我们的Spring Batch应用程序在重新启动失败的作业时,再次处理相同的记录,导致重复的行,我们希望了解如何避免这种情况。 启动批处理作业的Spring集成轮询器配置为每两个小时运行一次。第二次运行时,作业参数将相同,但如果上一次运行失败(例如,由于数据截断异常),Spring Batch不会抱怨作业已完成。 在故障点,几十万条记录已经被处理并从源表复制到目标表。在以后运行作业时,相同的行将复

  • 有人知道有没有办法在Spring重新开始吗?我希望它首先从第一步开始,然后是第二步,第三步,然后回到第一步,第二步,第三步,等等,直到满足条件。我试着用谷歌搜索,但没有找到任何具体的例子。 迄今为止的代码:

  • 主要内容:日期,时间,日期格式化:年-月-日DOS脚本中的日期和时间具有以下两个用于检索系统日期和时间的基本命令。 日期 该命令获取系统日期。 语法 示例 当前日期将显示在命令提示符下。 例如, 时间 该命令设置或显示时间。 语法 示例 当前时间将显示在命令提示符下。 例如, 以下是一些可用于以不同格式获取日期和时间的实现。 日期格式化:年-月-日 示例 以上命令产生以下输出 -

  • Repast中的批处理运行是没有交互的独立运行。但是,在我的模型中,我需要启用这样的交互。例如,run-2需要从run-1获取一些数据才能完全运行。 有没有办法在批处理运行之间交换信息?

  • 我在我的项目中集成了Spring Batch,我在运行JobLauncher时遇到了问题。 在我的类JobLauncher我有这个: 对于配置,我使用XML配置: 配置批处理。xml: 在作业配置中。我有: 当我在类JobLauncher中调试时,它会在jobLuancher中停止。运行,我也不例外,似乎SpringBatch无法识别reader和whriter!!有什么建议吗?

  • java-cp spring-batch-example.jar org.springframework.batch.core.launch。支持。CommandLineJobRunner类路径:/jobs/file-import-job。xml SimpleFileImportJob 导致此错误(无法找到或加载main org.springframework.batch.core.launing