标签: quartz-scheduler

Quartz.NET-使用IJobListener获得作业异常

我正在为正在创建的应用程序使用Quartz.NET,目前我有一个IJobListener侦听作业中的任何错误,然后将电子邮件发送给管理员。如果我也可以通过电子邮件发送生成的异常,那就太好了,但是如何从IJobListener中获取异常?

c# quartz-scheduler quartz.net

5
推荐指数
1
解决办法
864
查看次数

在Quartz.Net中调度依赖作业

我需要一些帮助.我想弄清楚如何在Quartz.Net中安排工作.Quartz中的作业对应于我的Web应用程序中的任务,这些任务在我的Web应用程序中都是作业的一部分.我希望用户能够按需启动作业(WebApplication Context)并使其立即运行或在将来安排作业,并且可能在给定的时间间隔内重复.我知道所有这些项目是如何在Quartz中单独完成的,但我很难将它们整合在一起.

例如,在我的Web应用程序中,我可能按照特定顺序从事多项任务.我希望能够在quartz中安排这些任务,以便它们以我的Web应用程序中确定的相同顺序执行.有人知道怎么做吗?我已经阅读了Quartz文档,说要将下一个Job存储在JobDataMap中,正在努力解决它.

我正在等待创建Quartz作业,直到用户请求安排作业或运行它.您是否认为我应该创建作业并触发在Web App中创建任务,然后从任务对象中提取该信息以便在Quartz中进行调度?

c# quartz-scheduler quartz.net asp.net-mvc-3

5
推荐指数
2
解决办法
7738
查看次数

'Quartz.Impl.StdSchedulerFactory'的类型初始值设定项引发了异常

我非常关注Quartz.Net教程中的指示,但是在尝试调试项目时遇到了启动错误.

 The type initializer for 'Quartz.Impl.StdSchedulerFactory' threw an exception.
Run Code Online (Sandbox Code Playgroud)

我在网上找不到任何帮助.这是配置问题吗?有谁知道我在哪里可以得到一个需要配置的简单列表?

(我正在使用Quartz.Net 2.0)

内部异常:{"无法从配置部分'common/logging'获取Common.Logging的配置."}

c# quartz-scheduler quartz.net typeinitializeexception

5
推荐指数
1
解决办法
8345
查看次数

检索quartz调度程序中的servletContext引用

我在基于Spring 3.0的应用程序中使用Quartz Scheduler.我成功地能够创建新的调度程序,它们工作正常.

我见过这样的参考.

但是..我无法在我的石英作业文件中检索servletContext.任何人都可以帮助我如何在executeInternal()方法中检索servletContext引用?

Gunjan Shah,thx.

servlets quartz-scheduler

5
推荐指数
1
解决办法
6954
查看次数

如何使用Quartz XML插件声明一次性的简单触发器?

我正在尝试设置一个作业,使其在我的调度程序第一次启动时运行一次,然后在每天的午夜运行一次。这是我的作业和触发器的XML。每天一次的触发器起作用,但是一次性触发器则不起作用。

    <job>
      <name>MyJob</name>
      <group>MyJobGroup</group>
      <job-type>MyScheduledJob, MyJobAssembly</job-type>
      <description>My job, yo</description>
      <durable>true</durable>
      <recover>false</recover>
    </job>
    <trigger>
      <cron>
        <name>MyTrigger</name>
        <group>MyTriggerGroup</group>
        <job-name>MyJob</job-name>
        <job-group>MyJobGroup</job-group>
        <cron-expression>0 0 0 1/1 * ? *</cron-expression>
      </cron>
        <simple>
            <name>MyOneTimeTrigger</name>
            <group>MyTriggerGroup</group>
            <description>Run once at startup, G</description>
            <misfire-instruction>SmartPolicy</misfire-instruction>
            <volatile>false</volatile>
            <job-name>MyJob</job-name>
            <job-group>MyJobGroup</job-group>
            <repeat-count>0</repeat-count>
            <repeat-interval>0</repeat-interval> 
      </simple>
    </trigger>
Run Code Online (Sandbox Code Playgroud)

quartz-scheduler

5
推荐指数
1
解决办法
7108
查看次数

在石英调度程序上,需要澄清

几个关于Quartz的单独问题

  1. 如果我想要一次执行事件,那就足够了

    trigger.setRepeatCount(0);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 考虑这个片段.当预定时间"在此之前"时,事件运行,并且在预定时间在将来时无法执行

    JobDetail job = new JobDetail();
    job.setName(eventType.toString() + " event");
    job.setJobClass(Action.class);
    
    SimpleTrigger trigger = new SimpleTrigger();
    trigger.setStartTime(new Date(momentInTime.inMillis()));
    trigger.setName("trigger");
    
    trigger.setRepeatInterval(repeatFrequency.inMillis());
    trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
    
    scheduleManager.getScheduler().scheduleJob(job, trigger);
    
    Run Code Online (Sandbox Code Playgroud)

使用上面的代码,我观察以下内容

Time now         : 1352410780356
Will execute at  : 1352410840356  // 1 min interval
Execution starts : 1352410840368
Run Code Online (Sandbox Code Playgroud)

现在和计划执行的时间之间的差异恰好是1分钟..

好的..尝试更大的间隔

Time now         : 1352411061156
Will execute at  : 1352411301156 // 3 min interval
Execution starts : 1352411301165
Run Code Online (Sandbox Code Playgroud)

再次..差异正好是3分钟,如

执行应该在某个时刻

   new MomentInTime(new DayOfMonth(8), new HourOfDay(15), new MinuteOfHour(48));
Run Code Online (Sandbox Code Playgroud)

它实际上开始(似乎开始,我应该说)作为当前时间和请求时间之间的偏移(甚至是偏移).

看起来,如果它10:43:25和我想要一份工作开始10:45:00,它会发现有两个甚至几分钟的差异,并安排工作10:45:25. …

java scheduling scheduled-tasks quartz-scheduler

5
推荐指数
1
解决办法
361
查看次数

如何从石英表中删除未使用的触发器

我正在使用带有Quartz的spring,并且每个东西都工作正常但是之前的一些cofigured触发器也被执行了,因为它们存储在Quartz表中.我们可以手动删除所有未配置的触发器并执行应用程序,但这不是一个好习惯.我想通过spring + quartz属性或其他解决方案删除所有触发器.

当我在spring配置文件中配置了3个触发器时

<property name="triggers">
    <list>
        <ref bean="FirstTrigger" />
        <ref bean="secondTrigger" />
        <ref bean="ThirdTrigger"/>
    </list>
</property>
Run Code Online (Sandbox Code Playgroud)

当服务器启动时,所有触发器都存储在Quartz表中,并带有相应的cron触发器和作业详细信息.如果我删除了我的配置中的任何触发器,例如我在上面删除了第二个触发器,但它没有从Quartz表中删除.那时DBtrigger(删除触发器)也执行了.

在spring + Quartz集成中,是否有任何属性来处理这个问题,还是我们需要为此问题做些其他事情?

提前致谢.

java spring quartz-scheduler

5
推荐指数
2
解决办法
1万
查看次数

如何使用Quartz取消计划所有工作?

今天,我迭代

public void unschedule(final ScheduledEvent event) throws SchedulerException {
     ...
    scheduler.deleteJob(event.getName(), "my group");
     ...
}
Run Code Online (Sandbox Code Playgroud)

如果我想要的是取消安排所有工作,这可以做得更好(更快)吗?

java quartz-scheduler

5
推荐指数
1
解决办法
6694
查看次数

石英2.2中java示例文件的位置?

我刚开始学习Quartz,网站列出了几个例子(http://quartz-scheduler.org/documentation/quartz-2.2.x/examples/),但我找不到java程序的源代码.

这些文件夹仅包含运行程序所需的批处理文件,而指南说明源位于org.quartz.examples.包中.我找不到该包或java文件.

java quartz-scheduler

5
推荐指数
1
解决办法
1813
查看次数

由于两个服务器实例,同一石英作业运行两次

我有这个问题:我的应用程序有一个石英调度程序,每X分钟运行一个任务.此应用程序部署在两个服务器实例中,因此每个实例都在同时执行任务.我想同时只执行一项任务.

我们已经使用Spring配置了Quartz,我们的应用服务器是WAS.

你建议哪些选择?

java quartz-scheduler

5
推荐指数
1
解决办法
2263
查看次数