7

您能否向我解释一下 Quartus 中 StatefulJob 的确切含义以及它与无 StatefulJob 的区别?

4

3 回答 3

12

StatefulJob 接口,提供 2 个东西,

第一:任何时候都只会运行一个作业

第二:在 (SimpleTriggerBean) 中你不会担心你的作业运行时间。这意味着下一次运行将在前一次结束后的延迟时间后完成。

于 2012-08-11T11:55:20.270 回答
2

StatefulJob 保证一次只运行一项作业。例如,如果您安排您的作业每 1 分钟运行一次,但您的作业需要 5 分钟才能完成,那么在前一个作业完成之前,该作业将不会再次运行。

这有助于确保在任何给定时间只有一个作业在运行。

下一个作业将在下一个计划中运行,而不是在上一个作业完成后立即运行。

于 2012-08-11T09:56:54.870 回答
0
jobDetail.getJobDataMap().put("type","FULL");

这一行将决定我们使用有状态还是无状态。

  1. 如果我们传递参数,那么它将是有状态的。
  2. 如果没有 statefull,就无法在 execute 方法中传递参数
  3. 如果我们修改任何值,则在执行时间处于完全状态时,执行作业将丢失,它不会在同时处理时间重新触发。
  4. 一次只会执行一个作业,第二个作业将处于睡眠状态,直到第一个作业完成。
  5. 在多调度过程中,第二个作业参数将在运行时共享给第一个作业。这是多调度过程中的一种缺点。
于 2015-02-15T19:59:31.717 回答