Quartz.NET 运行作业自行重新安排?

2023-11-30

我完全以编程方式创建了一个 Quartz.NET 作业(没有配置文件等)。它按计划运行良好。该作业使用 cron 字符串初始化,每 5 分钟运行一次。我想让作业根据环境更改其自身的计划(例如,随着时间的推移会发生错误,因此 cron 应该更改为 30 分钟)。

我正在尝试确定要写什么

protected override void ExecuteInternal( IJobExecutionContext context )

方法,让工作“改变自己”。我是否在 context.Scheduler 属性中设置了一些内容?我是否必须转到调度程序本身并终止作业并重新创建它(尽管对我来说听起来有点严厉)?

所有想法表示赞赏,谢谢。


虽然我没有使用过 Quartz.NET,但我在 Java 项目中使用过 Quartz,我认为它们是相似的。我已经实现了与您所描述的类似的解决方案。在executeInteral方法中,您可以访问作业执行上下文。基本上它涉及创建一个新的触发器,然后重新安排作业(rescheduleJob)。因此,当出现这种情况时,您会执行以下操作:

protected void ExecuteInternal( IJobExecutionContext context ) {
  // ... some code
  if (the_condition) {
     // figure out startTime
     // figure out endTime
     // figure out repeat time
     // figoure out repeatInterval
     Trigger trigger = new SimpleTrigger("OurNewTrigger","GROUP_NAME", context.getJobDetail().getName(),context.getJobDetail().getGroup(), startTime, endTime,repeatTime,repeatInterval);
     context.getScheduler().rescheduleJob("OurNewTrigger","GROUP_NAME",trigger);
  }
  // ... some more code
}

沿着这些思路。希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Quartz.NET 运行作业自行重新安排? 的相关文章

  • 在 C# 中将平面数据库结果集转换为分层对象集合

    我有一个数据库查询 它以平面格式返回分层数据 例如客户 订单和订单项目 只是一个例子 我的数据不同 如何将其转换为分层对象集合 即客户对象的集合 其中每个客户对象都有订单对象的集合 每个订单对象都有订单项目对象的集合 这只是循环遍历每个项目
  • 通过 VSTO 更改 Outlook AppointmentItem 的组织者

    我正在尝试通过我开发的插件从 Outlook 中的数据库创建一组 AppointmentItems 我希望能够在另一个交换帐户的日历上创建约会项目 我有它的凭据 AppointmentItem 的 Organizer 属性是只读的 没有帮助
  • 将 SqlDataReader 中的数据放入 HTML 表中

    我在数据库中有一些数据可以用来读取SqlDataReader 我想将它们放入我的 ASP NET 站点的 HTML 表中 但我不知道该怎么做 您可以使用网格视图 它是一个 asp net 控件 您只需将 datareader 绑定到 gri
  • 实体框架代码优先:如何手动更新数据库?

    我构建了一个小型 WPF 演示应用程序 它使用 EF Code First 将其数据保存在 SQL CE 4 0 DB 中 除非我从模型对象中删除属性 否则它工作正常 例如 如果我从此类中删除 HosteBy public class Di
  • 让 Quartz.net 忽略失火

    我正在构建一个 Windows 服务 该服务正在执行计划任务 该任务使用 Quartz net 定期 每分钟一次 处理命令队列 来自遗留系统 如果任务花费的时间超过 1 分钟 这很不寻常 但在某些情况下是可能的 我希望它简单地忽略它错过触发
  • 午夜的 DateChange 事件[重复]

    这个问题在这里已经有答案了 可能的重复 后台工作人员检查什么时候是午夜 https stackoverflow com questions 3053695 background worker check for when its midni
  • 将 C# 应用程序与 Oracle 10g 连接:ORA-12154: TNS: 无法解析指定的连接标识符

    我是数据库工作的初学者 我正在尝试从 C 应用程序访问 Oracle10g 数据库 但是当我这样做时 我收到此错误 ORA 12154 TNS 无法解析指定的连接标识符 我正在使用以下代码 string oradb Data Source
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • Powershell 新的 ScheduledTaskSettingsSet

    我尝试添加新的ScheduledTaskSettingsSet https technet microsoft com en us library jj649824 v wps 630 aspx具有自定义设置 根据 Technet 有可能的
  • 使用 LINQ 将 DataTable 列中的值读入 List

    我有一个DataTable服务返回给我的包含 5 列的对象 我只对其中一栏感兴趣 FuncName列 并希望我的实用程序方法调用该服务来删除额外的信息并仅返回一个List
  • 服务器不支持 C# 中的安全连接

    我在下面的代码中收到错误 服务器不支持安全连接 SmtpClient smtp new SmtpClient MailMessage mail new MailMessage mail From new MailAddress gmail
  • Android 手机作为 GSM 调制解调器在 PC 上发送/接收短信?

    是否可以将 Android 移动设备用作 PC 上的 GSM 调制解调器 我正在 net下开发应用程序来发送 接收短信等 现在我想通过 USB 将我的 Android 设备连接到我的 PC 并将其用作 GSM 调制解调器来与其通信 这里是参
  • 在测试期间调用预定方法[重复]

    这个问题在这里已经有答案了 我正在使用 Maven 开发 SpringBoot 应用程序 我有一个班级 Component有方法的注释m与 Scheduled initialDelay 1000 fixedDelay 5000 注解 这里f
  • RtaskscheduleR不执行脚本

    我正在尝试使用每分钟运行一次脚本taskscheduleR图书馆 我按照 GitHub 页面上的示例进行操作 但遇到了以下问题 R 表示任务已创建 但脚本未正确执行 它应该以附加模式将数据写入文件 有问题的文件已存在 我没有看到任何日志文件
  • 接口协方差问题

    以下代码示例 interface I
  • 从字符串中提取版本号(例如:“ver.1.9.0”)

    如果我传递一个字符串 verstring vername 1 19 5 它将返回版本 因为我忽略了 Currentver 0 如果我想传递 verstring 1 19 5 我的意思是我将获得两种格式的 verstring 版本名称 ver
  • 如何在 Django 中每天精确执行一次命令?

    我正在开发一个基于 Django Web 的项目 在该项目中我需要构建一个按以下顺序工作的应用程序 1 用户打开一个页面 需要在其中输入command and a time 2 Django应用程序将在每天的给定时间执行该命令 直到用户关闭
  • 有没有办法创建支持接口的 DynamicObject?

    我是否可以定义一个派生自 DynamicObject 并支持接口 ICanDoManyThings 的类 而不必实现接口中的每个方法 我正在尝试创建一个动态代理对象 并希望此类上的方法调用由 MyProxyClass TryInvokeMe
  • 关闭 Quartz .Net 中的调试日志记录

    我正在使用 Quartz NET 在我们的应用程序中安排一些自定义任务 一切工作正常 只是它在一秒钟内记录大约二十个调试条目 我不知道如何关闭调试日志记录 任何帮助将非常感激 因为我一直试图在网上查找但没有运气 调试条目如下所示 DEBUG
  • T[] 和 T[*,*] 有什么区别?

    我的谷歌柔术让我失望了 问题在标题中 有什么区别T and T 我正在寻找 2 2 1 2 部分的答案 外行 或超级架构师 的简单英语解释和示例代码 链接到此区别的正式文档 额外奖励 指向定义此内容的 C 4 规范中的小节和页码 它不在第

随机推荐