quartz 支持 php,quartz基本介绍(示例代码)

简单实例

该实例用来在下一分钟执行一个helloJob

public class HelloJobMain {

public static void main(String[] args) throws Exception {

// DirectSchedulerFactory directSchedulerFactory = DirectSchedulerFactory.getInstance();

//创建一个调度工厂对象,并从里面获取一个调度器

SchedulerFactory schedulerFactory = new StdSchedulerFactory();

Scheduler scheduler = schedulerFactory.getScheduler();

//获取当前时间的下一分钟

Date runTime = DateBuilder.evenMinuteDate(new Date());

//定义一个job jobkey名称 jobkey 组

JobDetail job = JobBuilder.newJob(HelloJob.class).withIdentity("job1", "group1").build();

JobDataMap jobDataMap = job.getJobDataMap();

//JobDataMap jobDataMap=new JobDataMap();

jobDataMap.put("zhangsan",23);

//定义一个定时器

Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").startAt(runTime).build();

scheduler.getContext().put("lisi",24);

scheduler.scheduleJob(job, trigger);

scheduler.start();

Thread.sleep(65L * 1000L);

scheduler.shutdown(true);

}

}

public class HelloJob implements Job {

/**

* @param jobExecutionContext

* @throws JobExecutionException

*/

@Override

public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {

System.out.println("HelloJob 任务执行啦");

JobDetail jobDetail = jobExecutionContext.getJobDetail();

JobKey key = jobDetail.getKey();

Trigger trigger = jobExecutionContext.getTrigger();

TriggerKey key1 = trigger.getKey();

JobDataMap mergedJobDataMap = jobExecutionContext.getMergedJobDataMap();

System.out.println(mergedJobDataMap.get("zhangsan"));

SchedulerContext context = null;

try {

context = jobExecutionContext.getScheduler().getContext();

} catch (SchedulerException e) {

e.printStackTrace();

}

System.out.println(context.get("lisi"));

}

}

上面代码是创建一个Job的基本步骤,即包括:

1、创建SchedulerFactory工厂对象,并从中获取一个Scheduler

2、创建一个JobDetail

3、创建一个触发器即Trigger

4、注册到Scheduler,即scheduler.scheduleJob(job, trigger);

5、启动Scheduler,即scheduler.start();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值