spring-mvc - 作业未以固定速率执行

标签 spring-mvc jobs execution

我有以下 spring mvc 配置:

<task:scheduled-tasks scheduler="defaultScheduler">
   <task:scheduled ref="myTaskWorker" method="someMethod"
     fixed-rate="500" />
</task:scheduled-tasks>

当我执行上面的代码时,它不是每 500ms 执行一次,而是仅在前一个完成后执行。

我该如何解决这个问题?

最佳答案

差异在于时间而不是任务数量。 固定速率将跟踪时间并旋转新线程以匹配 5 秒的固定时间。简而言之,您不会像您期望的那样拥有多个线程。

15秒内,应该有3次处决。但是,如果第一个任务需要 10 秒,第二个任务需要 6 秒,那么在第 16 秒,第三个任务将开始。下一个任务将在第 20 秒(固定速率)开始,前提是此时第三个任务已完成。希望这是有道理的。

查看详细解答here

关于spring-mvc - 作业未以固定速率执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30977484/

相关文章:

sql-server - 备份sql server数据库并邮寄

r - 估计 R 执行时间

java - Spring MVC 3 格式化 BigDecimal

java - 显示隐藏字段的 validator 消息

java - 如何在 thymeleaf 中显示列表错误?

svn - 未设置 EnvVar SVN_REVISION 和 SVN_URL

java - Java 中的一些方法或现有设计模式可防止因参数检查而出现大量 if/else 条件

java - Hadoop:0.20.203 中的链接作业

c - 程序执行停止在 scanf?

javascript - 在 window.open 函数中添加 URL 前缀 jQuery