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

如果Spring线程调度程序已满,Cron作业会发生什么?

郎飞龙
2023-03-14

在我的应用程序中,我有一个Spring线程调度程序池,用于在未来的特定时间运行不同的Cron作业。我有足够日志记录的Cron作业来告诉它做了什么。我注意到有时这些作业没有在应该运行的时间执行。我已经验证了这些作业是添加到调度程序队列中的。所以我怀疑如果我的调度程序池已满并且没有任何空闲线程,那么它就无法在特定时间调度作业。当Spring在池中找到任何空闲线程时,它不应该运行这种延迟的作业吗?或者它只是忽略此运行并将在下一个计划中运行作业?

共有1个答案

孟正志
2023-03-14

这不是Spring的责任。这就是Java的schduledExecutorService的工作方式。

我相信只要池中的线程空闲,就会执行所有这些任务。一个接一个地排队。

 类似资料:
  • 我有两个要求。 每周一触发作业 对于第一个要求,我尝试了和。他们俩都不工作。该函数未被调用。 对于第二个要求,我尝试了和。我得到下面的错误。 原因:java。lang.IllegalStateException:遇到无效的@Scheduled方法“monthlyData”:用于输入字符串:“2#1”。

  • 我正在开发一个Spring Boot应用程序,它在给定的网站中查找给定的,如果找到匹配项,就会删除这些网页。我正在编写一个cron作业,每5分钟刷新一次结果,如下所示: 数据库有100个,在cron作业中,我首先列出了上次获取结果的最旧的10个关键字。因此,例如,第一次运行应该使用id 1到10的,第二次运行应该使用id 11到20,依此类推,第11次运行应该再次使用id 1到10,并且该过程继续

  • 我正在使用和以及集群模式下的oracle db,我正在使用所有quartz api,因为我面临spring支持的quartz api的问题。 我的作业类中有一些依赖项没有初始化,我在调度程序上下文中传递了这些依赖项,然后它就开始工作了。 问题是我的cron表达式是每5分钟运行一次

  • 来自文档:http://docs.python.org/2/library/thread 让我们在这里只讨论非守护进程线程。因为第一个引号没有特别提到非守护进程线程,所以我假设,如果主线程退出,即使是非守护进程线程也应该被杀死。然而,第二句引文却表明了另一种情况。事实上,当主线程退出时,非守护进程线程确实不会被杀死。那么,这里的第一个引用有什么意义呢?

  • 是否有任何专家在使用spingdge调度程序时遇到问题? 我试着设置它在工作日的下午2点到晚上10点之间每小时运行15分钟,但是好像是按分钟触发的,这是因为我的cron出错了还是我应该做smthg来控制它? 通过springboot-web-started在linux服务器上运行 版本

  • 我正在研究一个用例,其中我安排了一个cron作业(通过石英),它从数据库中读取某些条目并处理它们。现在,在每个计划中,我可以获得数千条需要处理的记录。处理每条记录需要时间(以秒/分钟为单位)。目前,所有这些记录都在单个节点(由quartz选择的节点)上进行处理。现在,我面临的挑战是并行化这些记录处理。请帮助我解决以下问题: 如何将这些记录/任务分发到计算机群集 如果任何计算机在处理少量记录后发生故