我使用Quart.NET(http://quartznet.sourceforge.net/)来调度我的工作。 这非常有效,我可以运行创建作业并以编程方式触发,但我想使用数据库来存储和创建新的触发器。
quartz.config 更改后的文件如下:
quartz.jobStore.type = Quartz.Impl.AdoJobStore.JobStoreTX,Quartz quartz.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 ,项目正常播放并执行 SELECT 在表格中每15秒(或多或少),但我如何在石英表中 INSERT 数据?
我的数据库已使用脚本 tables_oracle.sql
进行配置我不会在表中手动执行 INSERT ,因为数据库的架构石英非常困难。
我有一个其他项目WEB,我将用它来安排新的工作,这个项目将在表格中插入数据,我的项目服务器Quartz.Server.2010将被执行。
我可以使用方法CronExpression每1分钟安排一次作业吗?如下所示:
Quartz.CronExpression cron = new Quartz.CronExpression(“0 0/1 * 1/1 *?*”);
但是我想把它放在数据库中,由石英服务器使用,不要在我的web项目中运行。
谢谢朋友们,
答案 0 :(得分:3)
您将Web服务器配置为使用与Quartz Server相同的设置,并以相同的方式初始化调度程序,但实际上并未启动调度程序(否则作业将开始在Web服务器上运行)。
使用API创建作业时,请确保记得调用.StoreDurably()
有关语法的详细信息,请参阅我对this SO question的回答。