gpt4 book ai didi

c# - Quartz.net 多久加载一次触发器设置?

转载 作者:太空狗 更新时间:2023-10-30 01:29:18 59 4
gpt4 key购买 nike

我有 Quartz.net 设置和 SQLite 作业存储。

此外,还有:1. Windows 服务保持 Quartz.net 调度程序运行2. ASP.NET MVC Web 应用程序,其行为类似于允许设置计划的管理仪表板。

它们都与 Quartz.net 表共享同一个 SQLite 数据库。

当我使用第二个应用程序(网络应用程序)更改计划时,Windows 服务会捕获这些更改并遵循刚刚设置的计划。

我认为我应该以某种方式通知第一个应用程序已更改计划并且应该重新加载它(通过暂停作业并再次启动它们或以其他方式)。但事实证明,Windows 服务应用加载了这些更改,不需要任何其他工作。

我的问题是:

  1. 这种结构的可靠性如何?
  2. 我应该让它像现在这样工作,还是应该创建我自己的日程设置重新加载机制?

最佳答案

幸运的是 Quartz.Net 是 open source在 GitHub 上。

如果我们看一下 Run()在 QuartzSchedulerThread 方法中我们可以看到,每当一个线程可用时,JobStore 就会被请求 AcquireNextTriggers() .

在这里我们可以看到驱动程序委托(delegate)(在您的例子中是 StdAdoDelegate)被要求 SelectTriggerToAcquire() .

该方法直接访问您的 SQLLite 作业存储,因此回答您的两个问题:

  1. 这个构造非常可靠,因为它会被主调度器反复直接查询。
  2. 按理说,您应该让它像现在这样工作。

关于c# - Quartz.net 多久加载一次触发器设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52686484/

59 4 0
文章推荐: c# - 防止父/子层次结构中无限递归的防御代码
文章推荐: python - 比较python中的两个scipy.sparse矩阵
文章推荐: python - 将 pandas.TimeSeries 转换为 R.ts
文章推荐: c# - 过滤 ICollectionView 时性能下降