quartz定时器依赖_Grails集成Quartz插件实现定时任务(Job)

build.gradle依赖:

//定时器
compile 'org.grails.plugins:quartz:2.0.0.M4'

创建一个job,执行命令:

create-job com.test.Test

修改TestJob:

package com.test

class TestJob {

static triggers = {}

    def execute(context) {
        // execute job
        println "执行..."
        
        // 获取传递过来的参数
        def msg = context.mergedJobDataMap.get("tip")
        println msg
    }
}

控制器中动态调用:

def personPush() {
    println "xxxxx"
    
    // 传参到job中
    TestJob.schedule(new Date(),[tip: "执行了定时器。。。"])
}

暂停定时任务

def jobManagerService

def index() {
    // 停止所有定时任务
    jobManagerService.pauseAll()
    render "Stop all Job."
}

恢复定时任务

jobManagerService.resumeAll()

JobManagerService服务中常用方法

Map <String , List<JobDescriptor>> getAllJobs() {}

List<JobDescriptor> getJobs(String group) {}

def getRunningJobs() {}

def pauseJob(String group, String name) {}

def resumeJob(String group, String name) {}

def pauseTrigger(String group, String name) {}

def resumeTrigger(String group, String name) {}

def pauseTriggerGroup(String group) {}

def resumeTriggerGroup(String group) {}

def pauseJobGroup(String group) {}

def resumeJobGroup(String group) {}

def pauseAll() {}

def resumeAll() {}

def removeJob(String group, String name) {}

def unscheduleJob(String group, String name) {}

def interruptJob(String group, String name) {}
  • 可自行查看grails.plugins.quartz.JobManagerService

方法:

MyJob.schedule(String cronExpression, Map params) // 创建cron触发器
MyJob.schedule(Long repeatInterval, Integer repeatCount, Map params) // 创建简单的触发器:以repeatInterval毫秒的延迟重复作业repeatCount + 1次
MyJob.schedule(Date scheduleDate, Map params) // 将一个作业执行安排到特定日期
MyJob.schedule(Trigger trigger) // 使用自定义触发器来安排作业的执行
MyJob.triggerNow(Map params) // 强制立即执行工作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值