【问题标题】:Durable Jobs being deleted using AdoJobStore使用 AdoJobStore 删除持久作业
【发布时间】:2012-09-19 18:23:14
【问题描述】:

我们有使用以下配置运行石英的 Windows 服务。我们还有一个具有相同设置的 mvc 应用程序,用于维护集群的作业和触发器。但由于某种原因,作业和触发器正在被删除,即使该作业是持久的。

<quartz>
    <add key="quartz.scheduler.instanceId" value="AUTO" />
    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
    <add key="quartz.threadPool.threadCount" value="10" />
    <add key="quartz.threadPool.threadPriority" value="Normal" />
    <add key="quartz.jobStore.misfireThreshold" value="60000" />
    <add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
    <add key="quartz.jobStore.tablePrefix" value="support.QRTZ_" />
    <add key="quartz.jobStore.dataSource" value="myDS" />
    <add key="quartz.jobStore.useProperties" value="true" />
    <add key="quartz.jobStore.clustered" value="true" />
    <add key="quartz.jobStore.clusterCheckinInterval" value="15000" />
    <add key="quartz.dataSource.paymentsDS.connectionString" value="connString" />
    <add key="quartz.dataSource.paymentsDS.provider" value="SqlServer-20" />
  </quartz>

Windows 服务启动

    IScheduler scheduler = _schedulerFactory.GetScheduler();
    scheduler.JobFactory = _jobFactory;
    scheduler.Start();

MVC 管理器

    IScheduler scheduler = _schedulerFactory.GetScheduler();
    scheduler.AddJob(jobDetail, false);

【问题讨论】:

  • 您真的看到作业被添加到 Sql 数据库吗?他们是否有可能一开始就没有到达那里,例如,如果 MVC 管理器无权访问 SQL 数据库,或者它正在与不同的服务器通信等?如果它们确实进入了数据库,它们会在什么时候被删除?

标签: c# quartz-scheduler quartz.net quartz.net-2.0


【解决方案1】:

我认为您必须像这样更改 MVC 管理器的配置:

<quartz>
    <add key="quartz.scheduler.instanceId" value="AUTO" />
    <add key="quartz.threadPool.type" value="Quartz.Simpl.ZeroSizeThreadPool, Quartz" />
    <add key="quartz.jobStore.misfireThreshold" value="60000" />
    <add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz" />
    <add key="quartz.jobStore.tablePrefix" value="support.QRTZ_" />
    <add key="quartz.jobStore.dataSource" value="myDS" />
    <add key="quartz.jobStore.useProperties" value="true" />
    <add key="quartz.jobStore.clustered" value="true" />
    <add key="quartz.jobStore.clusterCheckinInterval" value="15000" />
    <add key="quartz.dataSource.paymentsDS.connectionString" value="connString" />
    <add key="quartz.dataSource.paymentsDS.provider" value="SqlServer-20" />
  </quartz>

我已将 ThreadPool 类型更改为 ZeroSizeThreadPool 并删除了

<add key="quartz.threadPool.threadCount" value="10" />
<add key="quartz.threadPool.threadPriority" value="Normal" />

您可以找到更多信息here

【讨论】:

    猜你喜欢
    • 2013-06-20
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 2016-10-22
    • 2017-10-18
    • 2023-04-08
    相关资源
    最近更新 更多