2

我正在使用 Quart.NET ( http://quartznet.sourceforge.net/ ) 来安排我的工作。这非常有效,我可以以编程方式运行创建作业和触发器,但我想使用数据库来存储和创建新触发器。

石英.config更改文件如下:

quartz.jobStore.type = Quartz.Impl.AdoJobStore.JobStoreTX,Quartzquartz.jobStore.driverDelegateType = Quartz.Impl.AdoJobStore.OracleDelegate,Quartz quartz.jobStore.tablePrefix = QRTZ_quartz.jobStore.dataSource = myDS quartz.dataSource.myDS。 connectionString = *我的 oracle 连接字符串* *** quartz.dataSource.myDS.provider = OracleODP-20 quartz.jobStore.useProperties = true

我正在使用 Quartz.NET 的最新稳定版本为 2.0.1 的解决方案示例,名为Quartz.Server.2010,该项目正常播放并每 15 秒(或多或少)在表 a 中执行SELECT ,但我如何插入数据在石英表里?

我的数据库已使用脚本tables_oracle.sql进行配置

我不会在表中手动执行INSERT,因为数据库的模式石英非常困难。

我有另一个项目 WEB 我将使用它来安排新作业,该项目将在表中插入数据,并且我的项目服务器 Quartz.Server.2010 将被执行。

我可以使用 CronExpression 方法每 1 分钟安排一次作业吗?如下所示:

Quartz.CronExpression cron = new Quartz.CronExpression("0 0/1 * 1/1 * ? *");

但我想把它放在数据库中,供石英服务器使用,不要在我的网络项目中运行。

谢谢朋友,

4

1 回答 1

3

您将 Web 服务器配置为使用与 Quartz Server 相同的设置,并以相同的方式初始化调度程序,但实际上并不启动调度程序(否则作业将开始在 Web 服务器上运行)。

当您使用 API 创建作业时,请确保您记得调用 .StoreDurably()

有关语法的更多详细信息,请参阅我对这个 SO 问题的回答。

于 2012-09-21T17:29:49.270 回答