当前位置: 首页 > 知识库问答 >
问题:

Quartz.NET配置和调度

谷涵容
2023-03-14
    null

谢谢

共有1个答案

汤枫涟
2023-03-14

您使用零线程调度程序来调度作业。调度程序初始化代码示例:

var properties = new NameValueCollection();
properties["quartz.scheduler.instanceId"] = "AUTO";
properties["quartz.threadPool.type"] = "Quartz.Simpl.ZeroSizeThreadPool, Quartz";
properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
properties["quartz.jobStore.driverDelegateType"] = "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz";
properties["quartz.jobStore.useProperties"] = "true";
properties["quartz.jobStore.dataSource"] = "default";
properties["quartz.jobStore.tablePrefix"] = tablePrefix;
properties["quartz.jobStore.clustered"] = "false";
properties["quartz.dataSource.default.connectionString"] = connectionString;
properties["quartz.dataSource.default.provider"] = "SqlServer-20";
schedFactory = new StdSchedulerFactory(properties);
BaseScheduler = schedFactory.GetScheduler();

示例调度函数

    protected ITrigger CreateSimpleTrigger(string tName, string tGroup, IJobDetail jd, DateTime startTimeUtc,
        DateTime? endTimeUtc, int repeatCount, TimeSpan repeatInterval, Dictionary<string, string> dataMap, 
        string description = "")
    {
        if (BaseScheduler.GetTrigger(new TriggerKey(tName, tGroup)) != null) return null;

        var st = TriggerBuilder.Create().
            WithIdentity(tName, tGroup).
            UsingJobData(new JobDataMap(dataMap)).
            StartAt(startTimeUtc).
            EndAt(endTimeUtc).
            WithSimpleSchedule(x => x.WithInterval(repeatInterval).WithRepeatCount(repeatCount)).
            WithDescription(description).
            ForJob(jd).
            Build();               
        return st;
    }

显然,您需要在UI中提供所有相关字段,并将这些字段的值传递到函数中。某些必填字段的示例截图:

 类似资料:
  • 本文向大家介绍Quartz.Net调度框架配置解析,包括了Quartz.Net调度框架配置解析的使用技巧和注意事项,需要的朋友参考一下 在平时的工作中,估计大多数都做过轮询调度的任务,比如定时轮询数据库同步,定时邮件通知等等。大家通过windows计划任务,windows服务等都实现过此类任务,甚至实现过自己的配置定制化的框架。那今天就来介绍个开源的调度框架Quartz.Net(主要介绍配置的实现

  • 我正在使用Quartz.NET开发简单的调度程序。我想Quartz在数据库中保存所有的作业和触发器,所以我设置了AdoJobStore和“普通”作业,它工作正常。 我调试了JobFactory,根本没有调用方法NewJob。事情在它之前就发生了。 有人能帮忙吗?

  • Quartz.NET 是一个.NET 版的任务调度框架 ,详情请看 Quartz

  • 我们以国芯公版8008 UAC1.3.1为例。 一个新的板子做出后,开始进行硬件和软件调试的流程如下: step1: 确认ck串口输出正常 gx8008支持空片烧录,所以内部rom上是有程序一上电就执行的。 通过ck串口会输出默认打印。使用波特率57600查看。 有串口输出,就可以确认cpu正常上电启动了。 step2: 管脚复用配置 在对应板级的 mcu/boards/leo_gx8008_ua

  • 我们以国芯公版8008 UAC1.3.1为例。 一个新的板子做出后,开始进行硬件和软件调试的流程如下: step1: 确认ck串口输出正常 gx8008支持空片烧录,所以内部rom上是有程序一上电就执行的。 通过ck串口会输出默认打印。使用波特率57600查看。 有串口输出,就可以确认cpu正常上电启动了。 step2: 管脚复用配置 在对应板级的 mcu/boards/leo_gx8008_ua

  • 打开运行和调试配置的方法: 菜单栏: Run —> Edit Configurations... 快捷键: Mac: control + alt + R Windows/Linux: Alt + Shift + F9 —> 0 工具栏: 点击Edit Configurations... 然后弹出配置界面: Defaults列出了所有默认的配置, 点击 + 按钮可以新建一个新的Android启动/调