Quartz作业的多个实例,用于模拟计时器功能

时间:2014-11-27 16:51:58

标签: grails timer quartz-scheduler

我有一个Grails应用程序,需要设置一个计时器,它将在给定时间通过WebSocket启动广播,具有以下规定:

  • 计时器可以延期或取消
  • 可能会有几个不同的计时器同时运行(但具有不同的"上下文")
  • 应支持群集模式,即计时器只会触发一次,无论群集中我的应用程序的实例数量是多少。

我提出的解决方案是:

  • 使用Quartz创建一个普通作业,没有任何给定日期,以便何时触发
  • 我想设置一个计时器的那一刻,我用 cronExpression 创建一个新的作业实例,在给定时间触发它,然后持续保存
  • 我是否需要推迟计时器,我会从数据库中取出它并将 cronExpression 重写为新值。

我担心的是:

  1. 有没有其他方法可以设置定时器"在Grails中,可能没有使用Quartz作业的概念?
  2. 它是possible to have multiple instances of a Quartz job,但它是使用Quartz的正确方法,还是应该避免?也许我应该使用custom triggers代替?
  3. 如果我按照我之前解释的方式进行操作,是否可以在群集模式下工作(多个实例)?

0 个答案:

没有答案