【问题标题】:Setting Cron trigger in config when Quartz is deployed as windows service将 Quartz 部署为 Windows 服务时在配置中设置 Cron 触发器
【发布时间】:2015-05-27 14:24:33
【问题描述】:

我已将 Quartz.net 服务器设置为 Windows 服务。我有一个使用它成功安排的作业。但是这个作业每分钟都在运行。我想把工作安排在每天上午 11:00 和晚上 11:00。

但我不知道该怎么做。我有一个 Quartz.Server.Config 和一个 jobs_xml 文件。

请建议我在哪里设置此配置以及相同的 Cron 表达式。

【问题讨论】:

    标签: cron quartz-scheduler quartz.net


    【解决方案1】:

    您可以通过两种方式配置您的工作计划。一种是通过你的jobs_xml文件,你需要在其中添加触发器信息:

    <job>
      <name>jobName</name>
      <group>simpleGroup</group> 
      <!-- other settings -->
    </job>
    <trigger>
      <simple>
        <name>triggerName</name> 
        <group>simpleGroup</group>
        <description>SimpleTriggerDescription</description>
        <job-name>jobName</job-name>
        <job-group>jobGroup</job-group>
        <misfire-instruction>SmartPolicy</misfire-instruction>
        <cron-expression>0 0 11,23 * * ?</cron-expression> <!-- fire every day at 11:00 and 23:00 -->
      </simple>
    </trigger>
    

    或者通过调度程序以编程方式:

       IJobDetail job = JobBuilder.Create(this.GetType())
            .WithIdentity("JobName")
            .Build();
    
       ITrigger strigger = TriggerBuilder.Create()
             .WithIdentity("trigger7", "group1")
             .StartAt(DateBuilder.DateOf(11, 0, 0))
             .WithSimpleSchedule(x => x
             .WithIntervalInHours(12)
             .RepeatForever())
             .Build();
    
       scheduler.ScheduleJob(detail, trigger);
    

    【讨论】:

    • 运行非常流畅
    猜你喜欢
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多