spring-boot - 如何确保按顺序执行弹簧石英作业?
问题描述
我有以下触发器配置:
SimpleTrigger trigger = TriggerBuilder.newTrigger().startNow()
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(5)).build();
我的工作可能会运行超过 5 秒。
这意味着可能有 2 个作业实例同时运行。
有没有我可以对石英调度程序强制执行的政策:
如果作业正在运行,即使达到重复间隔也不要触发下一个。
可行吗?
谢谢
解决方案
尝试使用此注释@DisallowConcurrentExecution。这不应允许执行同一作业实例 https://www.quartz-scheduler.org/api/2.1.7/org/quartz/DisallowConcurrentExecution.html
推荐阅读
- javascript - 街景显示用户设定的步伐和路线
- python - 如何在 Windows 上使用 subprocess.run 运行 bash 命令
- amazon-web-services - 来自 Lambda 的 AWS Secrets Manager 调用返回 null/none
- ruby - 为什么在运行 ruby 应用程序的 docker 容器中大约 60 秒后 Phusion Passenger 会超时?
- c# - 如何将 appsettings 中的默认值设置为 API 模型上的属性
- python - 在 pandas 中使用带有 `apply()` 的 `scipy.stats` 函数时出错
- c# - 从 ASP.NET MVC 中的复选框中获取值
- java - 当我有 2 个 setOnclickListener 时,为什么我的应用程序不断崩溃?
- python - 使用输入提示从 python 调用 bat 文件
- javascript - 如何隐藏选定数据集的工具提示?- Chart.js v2.8