我是Spring boot(1.3.6版)和Quartz的新手,我想知道使用Spring调度程序生成任务有什么区别:
@Scheduled(fixedRate = 40000)
public void reportCurrentTime() {
System.out.println("Hello World");
}
而石英方式:
0. Create sheduler.
1. Job which implements Job interface.
2. Create JobDetail which is instance of the job using the builder org.quartz.JobBuilder.newJob(MyJob.class)
3. Create a Triger
4. Finally set the job and the trigger to the scheduler
在代码中:
public class HelloJob implements Job {
public HelloJob() {
}
public void execute(JobExecutionContext context)
throws JobExecutionException
{
System.err.println("Hello!");
}
}
和牧羊人:
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
// define the job and tie it to our HelloJob class
JobDetail job = newJob(HelloJob.class)
.withIdentity("myJob", "group1")
.build();
// Trigger the job to run now, and then every 40 seconds
Trigger trigger = newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(40)
.repeatForever())
.build();
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
Quartz是否提供了更灵活的方法来定义作业、触发器和调度器,或者Spring Scheduler还有更好的方法?
Spring Scheduler是一个抽象层,用于隐藏不同JDK(如JavaSE1.4、JavaSE5和JavaEE环境)中Executors的实现,这些环境有自己的特定实现。
Quartz Scheduler是一个成熟的调度框架,它允许基于CRON或简单的周期性任务执行。
Spring Scheduler以< code>Trigger的形式提供了与Quartz scheduler的集成,以使用Quartz scheduler的全部功能。
使用Spring Scheduler而不直接使用Quartz Scheduler特定类的优点是抽象层提供了灵活性和松散耦合。
是否可以添加/删除/修改在Quartz Spring Boot中动态安排的作业(在运行时),由使用我的门户的最终用户。由于计划无法从外部访问,我不知道有什么办法。基本上,我需要将所有的时间表信息存储到数据库中并访问它们。Im构建的门户将被大量用户使用,实现这一目标的正确解决方案是什么? 否则我可以像下面这样使用cron吗 每5 mns扫描一次作业以实现此目的。
现在我正在考虑一种方法,每个用户将为每个推迟的作业创建一个专用的,如下所示: 我可以在这里看到一个潜在的问题,即使用这种方法,我可以在Quartz Scheduler中快速创建数千个工作。以前我从来没有在Spring Scheduling中用Quartz调度过这么多的工作,不知道系统会如何处理。以这种方式实施系统是一个好主意吗?Spring Scheduling Quartz会不会处理这么多的工作
问题内容: 我正在使用“石英计划”,并且有2个工作。第一项作业将执行大约2分钟的任务,第二项作业将被设置为清理临时文件。因此,我需要设置计划表,使其工作方式如下:在执行完第一项任务/完成任务后,我需要在第二项任务的帮助下进行清洁操作。 考虑示例9-Quartz 2.1.x下的作业侦听器,它声明我们可以定义一个名为jobWasExecuted(,)的方法;在Job Listener中,它在第一个作业
乡亲们, 我正在尝试用Quartz调度器实现Spring boot,以便在java中调度作业。我的经理建议根据作业id为所有作业使用具有不同实施服务的单个作业。但我不能说服所有服务实施都使用单个作业。 请指导我使用多个服务类的单个作业或为每个服务编写每个作业。 提前感谢。。
我使用的是spring batch 3.0.2和quartz 2.2.1。两者都使用由两个API提供的元表。Spring批处理作业由quartz调度,并在调度时间调用。Quartz和Spring批处理表中都有所有信息。 现在我想要得到工作运行状态,这是由石英时间表。我不知道,我怎么能把石英作业键和Spring批联系起来。这样我就可以找到quartz系统调度的spring批处理作业的运行状态。
问题内容: 我正在寻找python的企业任务计划程序,就像石英是Java一样。要求: 持久:如果进程重新启动或计算机重新启动,则所有作业必须保留在该位置,并且必须在重新启动后解雇。 作业必须在事务中进入和退出调度程序(即,如果某个数据库操作失败,在与调度程序无关的数据库中,则作业必须没有退出或进入调度程序)。 可扩展性。取决于项目成功的程度,但是我更希望从一开始就知道我不是从无到有来。 可配置性: