问题标签 [spring-batch-job-monitoring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Spring Batch Worker Pod 日志在 Spring Cloud 数据流中不可见
我正在尝试在 K8s 集群上运行带有远程分区的春季批处理。在分区、执行等方面,每一件事都很好。它与 Spring Cloud Dataflow 集成,可以在 SCDF UI 中查看任务日志。但我正在寻找是否有办法让 Spring Batch Master 和 worker pod 的日志在每个作业对应的 SCDF UI 中可见。这方面的任何指示都会非常有帮助。
提前致谢。
spring-boot - 在春季批处理部署程序分区处理程序中定期获取正在运行的工作节点的状态
我正在使用部署器分区处理程序在春季批处理中进行远程分区。我想定期获取每个工作节点的状态并将其显示给用户。(就像心跳一样)。有什么方法可以实现这一目标吗?
spring-boot - 如何从多个应用程序实例同时运行相同的弹簧批处理作业
我创建了一个春季批处理作业,该作业在定义的时间使用调度程序执行。我们有同一个应用程序的多个实例,所以同一个作业会从多个实例同时执行。所有应用程序都使用相同的数据库。因此,我得到以下错误
堆栈跟踪:org.springframework.transaction.TransactionSystemException:无法提交 JDBC 事务;嵌套异常是 org.postgresql.util.PSQLException:错误:由于事务之间的读/写依赖关系而无法序列化访问详细信息:原因代码:在提交尝试期间在识别为枢轴时取消。提示:如果重试,事务可能会成功。在 org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:335) 在 org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) 在 org.springframework.transaction.support.AbstractPlatformTransactionManager.commit (AbstractPlatformTransactionManager.java:711) 在 org.springframework.transaction.interceptor.TransactionAspectSupport。
我已经使用以下代码说明了工作-
并在 yaml 文件中进行了以下配置
我添加了侦听器来检查任何正在运行的作业是否处于 STARTED 状态,如果找到任何正在运行的作业,则当前作业会停止
但我仍然在错误之上。如果只有一个应用程序实例,则作业运行良好。有没有办法从多个应用程序实例同时运行相同的作业,或者只允许一个作业从任何一个应用程序运行。
spring-batch-job-monitoring - Flatfileitemwriter 只调用一次,但我每分钟安排一次这项工作
我想从数据库中读取数据并将其写入一个文件。我每隔一分钟配置一次这项工作。对于我想在 writer 方法中创建一个新文件的每一项工作,我正在使用 flatfileitemwriter 但它不起作用,你能请任何人建议我如何实现这一点
java - 如何创建 Spring Batch Service 以读取和处理来自同一临时文件夹的文件(PDF、XML 和 HASH)?
我需要编写一个 Spring Batch Reader 从临时文件夹中读取多个文件(.pdfs、.xmls 和 .hashs)。然后我需要为每个pdf和xml文件生成哈希码,然后在.hash文件中找到对应的哈希码
我已经使用 ResourcesItemReader 实现了一个解决方案来读取 PDF 和 XML,然后对于每个文件,我通过另一个 HASH 文件列表来查找兼容的哈希码。
对于少数处理过的文件,它工作正常。但是,当文件量非常大时,该过程会运行数小时且无法完成。
关于如何改进此解决方案的任何想法?
java - 需要创建一个dashboard来监控spring batch job的状态
我需要创建一个仪表板来监视这些作业由 shell 脚本执行的 spring 批处理作业的状态。所以我想像这样使用rest Api从spring批处理表中获取批处理状态,并使用一些UI框架显示该数据。你能帮我如何实施这种方法吗?
java - 是否可以查询正在运行的 Spring Batch 应用程序以检查作业状态?
我正在开发一个 Spring Batch 应用程序。我将此应用程序部署在生产 Linux 服务器上作为我作为普通 jar 应用程序运行的 jar 文件。我的 Spring Batch 应用程序已启动并正在运行,实际上我的UpdateInfoBatch-0.0.1-SNAPSHOT.jar似乎已启动并作为进程运行:
我的应用程序包含两个使用 CRON 表达式在特定时间安排的作业定义:
现在我问是否有某种方法可以与这个正在运行的应用程序进行交互,以检查在定义到这个应用程序的作业的最后执行期间是否发生了一些错误。是否可以查询我正在运行的应用程序询问作业状态或类似的东西?
spring - 在 JdbcBatchItemWriter 中使用 ON DUPLICATE KEY UPDATE 时如何避免春季批处理中的死锁
我正在使用弹簧批处理将 csv 数据保存在 mysql 表中。大约有 1000 万条记录。
我的作家看起来像下面
此代码对于较少的记录运行良好,但对于较大的记录会出现死锁。
尝试获取锁时发现死锁
spring-batch - 跨多个微服务的 Spring 批处理作业
我有一个场景,我从 Excel 文件中读取数据,将数据提取到数据库中,然后处理数据。编写了 2 个单独的微服务来进行摄取和处理。
摄取服务使用 Apache Camel 来检测文件可用性,并在文件可用时调用 Spring 批处理作业。Spring Batch 作业读取文件并将数据摄取到数据库中,然后调用处理服务 API 以指示数据可用性。
我正在考虑在 Spring Batch 工作中有两个步骤。第一步由摄取服务执行,而第二步由处理服务执行。
可以通过处理服务将新步骤添加到同一个 Spring Batch 作业并执行吗?或者,摄取服务是否可以通过 2 个步骤配置作业但只执行一个步骤,然后在第二步移交给处理服务?
这还假设 Ingestion 服务可以在 Spring Batch 作业未完成的情况下有效地返回到 Apache Camel。
java - 如何获取 Spring Batch 中最后完成的作业的 start_time?
假设这些是我的工作运行:
现在在作业 6的运行时,我想找出最后一个成功完成的作业的start_time,即作业 4
我怎么才能得到它?
我尝试使用JobExplorer
API,但它根据输入提供输出count
如果有一个 COMPLETED 作业后跟 10 个 FAILED 作业,这对我不起作用。那时我不会得到完成的工作。
我需要的原因是因为在我的 中ItemReader
,我想使用类似于以下的查询从我的数据库中获取增量记录:
我不想手动查询批处理表batch_job_execution
等batch_job_execution_context