标签: quartz-scheduler

如何在.NET中执行基于时间/预定的事件?

我需要在我们的网站上提供行动/活动的安排.垃圾比喻可以是日历系统,其中一个人添加日历项目,并且当日期/时间被"命中"时,则触发一些逻辑(例如,计算报告).

我可能会有数百甚至数千个由我的客户输入的预定活动.当客户输入要安排的内容时,我会将该信息保存到数据库中.然后我猜我会在某处添加一个事件/作业,它将包含数据库表主键.当事件被触发时,我将从数据库中获取该信息,然后执行逻辑.完成.

有哪些常见解决方案可以解决这个问题?

我正在使用.NET 3.5 SP1.DB是Sql Server 2008.但UI将基于Web.

我不确定人们是否使用MSMQ?或者内置在Sql Server中的东西?或者一些带有NT服务的开源库(例如Quartz.NET).服务器将是windows 2008标准版.

另外 - 请不要使用等效的cron作业或任何命令行脚本等建议.

最后,这是次要的目标..我喜欢把它扔到天蓝色的地方为shiz和giggles ......所以也可能吗?这只是一个愿望清单的想法.如果解决方案比使用Azure更容易,我宁愿在专用盒子上进行.

欢呼:)

编辑:需要触发事件时要处理的逻辑,是后台作业.无需UI.

.net scheduling scheduled-tasks quartz-scheduler

8
推荐指数
1
解决办法
4281
查看次数

使用Java中的Cron Expression查找上次触发时间

Java中有没有办法从Cron Expression中找到"Last Fired Time".

例如,如果现在= 2010年4月25日晚上10点,cron表达"0 15 10?**"(石英)应该会回复我25-Apr-2010 10:15 am

注意:1)我不关心我们是否使用标准cron表达式(如Unix和Quartz)或不那么受欢迎的表达式,如果他们可以获取正确的"最后发射时间"2)它也不是字面上的"最后一次发射时间"作为触发器可能没有触发,但逻辑上应该有一种方法可以告诉它(最终会)触发的时间.

java scheduling quartz-scheduler crontrigger

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

如何使用Quartz实现超时?

我正在尝试找到用石英实现超时的最佳方法,但我想知道这个框架是否已经包含一个类或接口来执行它.需要实现它的超时是因为我想知道工作了多长时间,并采取了关闭工作的决定.

java quartz-scheduler java-ee

8
推荐指数
1
解决办法
8797
查看次数

Grails集成了quartz jobs示例代码和所需的配置

我正在使用带有Grails 1.3.7的石英插件.我需要加载平衡/群集使用石英作业的服务器应用程序.显然这是支持但我发现所有谷歌搜索结果和文档中的链接都被破坏了.我发现了一些原始的Java示例,但我认为Grails有更粗略的方法来做到这一点.我需要的只是一个用作模板的简单示例.我知道我需要以某种方式启用quartz来使用JDBC来存储作业和管理锁定.

我认为链接到单个样本会做到这一点.但实际上,每当我发现一些看起来很有前景的东西时,它就会指向兵马俑网站上的断开链接.几乎每个网站最终都会引导我到这里:http://www.opensymphony.com/quartz/wikidocs/TutorialLesson9.html但是当我看到兵马俑的网站时,我看到Java的东西,但没有grails.如果Java是唯一的方法,那么就这样吧,但我觉得必须有一些grails专业知识在那里的某个地方!

TIA.

grails cluster-computing quartz-scheduler

8
推荐指数
1
解决办法
5890
查看次数

Quartz调度程序最大线程计数属性

我有以下情况:

计划运行的8个任务org.quartz.threadPool.threadCount设置为5.

但实际上我可以看到所有8个任务都在运行.

这怎么可能?

如果我设置org.quartz.threadPool.threadCount=5并且我提交了10个石英任务,那么只有5个任务并行运行?

org.quartz.threadPool.threadCount财产是什么意思?

我有这样的设计:

  1. 我们有一些任务可以在db中对实体进行一些工作
  2. 我们有特殊的JobRunner执行一项任务
  3. 我们扫描要运行的任务,并安排在Quartler服务中运行的任务,该服务使用org.quartz.threadPool.threadCount设置为5的SchedulerFactoryBean进行配置.
  4. 据我了解,如果使用SchedulerFactoryBean的石英服务将运行5个任务,并且如果我们将尝试安排其他任务石英本身应该抛出异常.这是真的?

谢谢.

java quartz-scheduler

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

计划进程在Openbravo中同时运行两次(使用Quartz)

我不太确定这是更多的Openbravo问题还是更多的Quartz问题,但我们有一些手动流程通过Openbravo ProcessRequest对象(OB v2.50MP24)按计划运行,但似乎进程运行了两次,在同一时间.Openbravo扩展了Quartz平台以进行调度.我试图通过确保我的流程类扩展此类来自行解决此问题:

import java.util.List;

import org.openbravo.dal.service.OBDal;
import org.openbravo.model.ad.ui.ProcessRequest;
import org.openbravo.scheduling.ProcessBundle;
import org.openbravo.service.db.DalBaseProcess;

public abstract class RBDDalProcess extends DalBaseProcess {

    @Override
    protected void doExecute(ProcessBundle bundle) throws Exception {
        org.quartz.Scheduler sched = org.openbravo.scheduling.OBScheduler
                .getInstance().getScheduler();
        int runCount = 0;
        synchronized (sched) {
            List<org.quartz.JobExecutionContext> currentlyExecutingJobs = (List<org.quartz.JobExecutionContext>) sched
                    .getCurrentlyExecutingJobs();
            for (org.quartz.JobExecutionContext jec : currentlyExecutingJobs) {
                ProcessRequest processRequest = OBDal.getInstance().get(
                        ProcessRequest.class, jec.getJobDetail().getName());
                if (processRequest == null)
                    continue;
                String processClass = processRequest.getProcess()
                        .getJavaClassName();
                if (bundle.getProcessClass().getCanonicalName()
                        .equals(processClass)) {
                    runCount++;
                }
            }
        }

        if (runCount > …
Run Code Online (Sandbox Code Playgroud)

java quartz-scheduler openbravo

8
推荐指数
1
解决办法
4826
查看次数

Java:Spring/Quartz:基本教程代码不起作用

我试图得到Spring和Quartz的基本示例.以下是我关注的教程:http://www.mkyong.com/spring/spring-quartz-scheduler-example/

我已经完全按照我的意思复制了所有内容,但是在输出窗口中没有看到任何内容.

弹簧quartz.xml

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="runMeTask" class="com.ksc.jobs.RunMeTask" />

    <!-- Spring Quartz -->
    <bean name="runMeJob" class="org.springframework.scheduling.quartz.JobDetailBean">
        <property name="jobClass" value="com.ksc.jobs.RunMeJob" />
        <property name="jobDataAsMap">
            <map>
                <entry key="runMeTask" value-ref="runMeTask" />
            </map>
        </property>

    </bean>

    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        <property name="jobDetail" ref="runMeJob" />
        <property name="repeatInterval" value="5000" />
        <property name="startDelay" value="1000" />

    </bean>

    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="jobDetails">
            <list>
                <ref bean="runMeJob" />
            </list>
        </property>

        <property name="triggers">
            <list>
                <ref bean="simpleTrigger" />
            </list>
        </property>
    </bean>

</beans>
Run Code Online (Sandbox Code Playgroud)

applicationContext.xml中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc quartz-scheduler

8
推荐指数
1
解决办法
4985
查看次数

禁用石英记录

如何禁用Quartz日志记录?Quartz在我的控制台上打印INFO语句.我试图在log4j.properties文件中使用以下语句禁用它

log4j.logger.org.quartz=ALL, CONSOLE
Run Code Online (Sandbox Code Playgroud)

java quartz-scheduler

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

无法存储作业:驱动程序的Blob表示形式是不受支持的类型:oracle.sql.BLOB

我收到这个错误:

org.quartz.JobPersistenceException: Couldn't store job: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB [See nested exception: java.sql.SQLException: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1103)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$3.execute(JobStoreSupport.java:1042)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$40.execute(JobStoreSupport.java:3670)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3742)
    at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:90)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInLock(JobStoreSupport.java:3666)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1030)
    at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:743)
    at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:243)
    at com.akbank.bsa.core.ApplicationStartup.run(ApplicationStartup.java:66)
    at com.akbank.bsa.core.ApplicationStartup.initialize(ApplicationStartup.java:24)
    at com.akbank.bsa.listener.Startup.contextInitialized(Startup.java:17)
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850)
    at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.sql.SQLException: Driver's Blob representation is of an unsupported type: oracle.sql.BLOB
    at …
Run Code Online (Sandbox Code Playgroud)

java jdbc quartz-scheduler

8
推荐指数
2
解决办法
7126
查看次数

quartz jobDetail requestRecovery

JobDetail.requestsRecovery属性文档说明如下

如果遇到"恢复"或"故障转移"情况,则指示调度程序是否应重新执行作业.

现在,什么是"复苏"情况或"故障转移"情况?

他们有什么不同?

仅当JVM在作业执行期间崩溃时才会发生恢复,或者如果由于异常而导致作业执行失败,是否会发生恢复?

fault-tolerance quartz-scheduler

8
推荐指数
1
解决办法
5662
查看次数