我希望我的作业每X秒执行一次,作业和X之间有一对一的匹配.同样在运行时,可以用自己的间隔注册新的作业.
我曾尝试为这种情况编写cron表达式,但在文档中写道,秒的值不能超过59.所以cron表达式如下:"0/63****?" 无效.
乍一看,这个问题的解决方案似乎是这样的表达:"0/3 0/1***?",但它意味着完全不同的事情:每分钟每三秒触发一次工作.
你能建议什么是正确的解决方案(cron表达式)吗?我知道我可以使用简单的计时器,但我要使用Quartz来使用cron作业.
您好我正在创建一个基于cron表达式执行类方法的应用程序.为此,我使用spring quartz,我必须在我的spring文件中配置所有这些东西,它工作正常,并且作业正在基于cron表达式执行,但现在我想暂停基于java类的特定作业的下一次执行从UI中选择用户.那有什么办法可以做到这一点?
我可以在上下文中获得所有正在运行的工作的详细信息吗?如果是这样,那么我可以过滤作业并尝试暂停该作业以便下次执行.
我在Apache Tomcat上有一个Web应用程序.Web应用程序使用Quartz Scheduler.我quartz.properties使用-D包含以下属性的开关从类路径加载:
quartz.jndi=java:comp/env/something
org.quartz.dataSource.myJndiName.jndiURL=${quartz.jndi}
Run Code Online (Sandbox Code Playgroud)
但它没有用.也许,${quartz.jndi}唯一可以在Spring Context中使用PropertyPlaceholderConfigurerbean吗?是否可以在Spring中为Quartz Scheduler加载此属性文件?
我有石英库的问题.我在春季2.5使用它:
<bean id="reminderBean" class="com.mail.timexis.ReminderBean">
<property name="mailSender">
<ref local="timexisMailSender" />
</property>
</bean>
<bean id="jobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="reminderBean" />
<property name="targetMethod" value="execute" />
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<!-- run every morning at 6 AM -->
<property name="cronExpression" value="* * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger" />
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
Maven的:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.4</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我运行tomcat时,它无法实例化"jobDetail"bean,因为它无法看到MethodInvokingJobDetailFactoryBean类使用的JobDetail类 ( Caused by: java.lang.NoClassDefFoundError: org/quartz/JobDetail)
Maven下载了jar,我可以在MavenDependencies下看到它,我可以找到JobDetail类.
我认为它与弹簧2.5和石英的兼容性有关.有任何想法吗?
我正在使用Quartz来调度我在java中的工作.我用"CronTrigger"来设定时间.我想每天晚上11点55分解雇我的工作.我应该在setCronExpression("")中写什么来完成我的Job.??
我对守则的看法是:---
CronTrigger trigger = new CronTrigger();
trigger.setName("runMeJob");
trigger.setCronExpression("0 55 23 * * ?");
Run Code Online (Sandbox Code Playgroud)
上面的代码是正确的还是我应该做一些修改????
是否有可能创建一个CronExpression:"每20分钟一天开火,但周六10:00-14:00之间不开火"?
像"0 0/20*?*MON-SAT"这样的东西很清楚,但它不一样......
刚刚下载了Quartz.Net,请阅读过时的文档,最后得到的代码我认为是正确的.(如果不是,请告诉我)
我把它放在我的ASP.Net应用程序的Application_Start中,代码被执行但是作业没有运行.我想我在某处读到将Quartz设置为单例,但不确定我是否已经在这里完成了?
我想将其设置为每天运行9.00,但现在使用StartNow检查它是否有效.
请告知我要做什么?
private void StartScheduler()
{
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
scheduler.Start();
IJobDetail jobDetail = JobBuilder
.Create()
.OfType(typeof(DBCleanUpJob))
.WithIdentity(new JobKey("test", "1"))
.Build();
var trigger = Quartz.TriggerBuilder.Create()
.ForJob(jobDetail)
.WithIdentity(new TriggerKey("test", "1"))
.WithSimpleSchedule()
.StartNow()
.Build();
//.WithDailyTimeIntervalSchedule(x=>x.StartingDailyAt(new TimeOfDay(09,00)));
scheduler.ScheduleJob(jobDetail, trigger);
}
public class DBCleanUpJob : IJob
{
private IDocumentSession DocumentSession;
public DBCleanUpJob(IDocumentSession DocSession)
{
DocumentSession = DocSession;
}
#region IJob Members
public void Execute(IJobExecutionContext context)
{
throw new NotImplementedException();
}
#endregion
}
Run Code Online (Sandbox Code Playgroud) 我正在为我的Web应用程序实现Quartz Scheduler。我必须安排每周一的星期一,星期二重复3周
Quartz Scheduler中的两种方法,
1)简单触发:
Trigger trigger = newTrigger()
.withIdentity("trigger1","group1")
.startAt(runTime)
.withSchedule(weeklyOnDayAndHourAndMinute(DateBuilder.MONDAY,10,10))
.build();
Run Code Online (Sandbox Code Playgroud)
在这里,我只能在weeklyOnDayAndHourAndMinute方法中提及一个工作日,而不能提及多个工作日
2)Cron触发器:
Trigger trigger = newTrigger()
.withIdentity("trigger1","group1")
.startAt(runTime)
.withSchedule(cronSchedule("0 10 15 ? * MON-FRI"))
.build()
Run Code Online (Sandbox Code Playgroud)
在这里我不能提及重复计数或重复间隔
请指引我正确的方向。提前致谢..
我们正在从石英调度程序版本升级1.8.6到2.2.1.
在1.8.6我们这样做:
String[] jobs = sched.getJobNames(Scheduler.DEFAULT_GROUP);
Run Code Online (Sandbox Code Playgroud)
我如何实现这一目标quartz scheduler 2.2.1?
我试过这个GroupMatcher东西,有一个TriggerKey匹配和sched.getTriggerKeys,但我无法让它工作.
我正在设计一个调度程序,并使用石英库。我想检查cron表达式时间是否指的是将来的时间,否则触发器将根本不会执行。有什么办法可以比较cron表达式时间和java中的当前时间。
quartz-scheduler ×10
java ×7
spring ×3
.net ×1
c# ×1
cron ×1
crontrigger ×1
maven ×1
quartz.net ×1
tomcat ×1