Created
January 7, 2014 23:12
-
-
Save pawelpabich/8308674 to your computer and use it in GitHub Desktop.
Quartz.Net sample that should output text to console every 6 seconds but it does not.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Specialized; | |
using System.Diagnostics; | |
using Quartz; | |
using Quartz.Impl; | |
using Quartz.Impl.Triggers; | |
namespace ConsoleApplication5 | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
try | |
{ | |
RunTest(); | |
} | |
catch (Exception e) | |
{ | |
Console.WriteLine(e.ToString()); | |
} | |
Console.ReadLine(); | |
} | |
private static void RunTest() | |
{ | |
var configuration = new NameValueCollection(); | |
configuration.Add("quartz.scheduler.instanceName", "QuartzServer"); | |
configuration.Add("quartz.scheduler.instanceId", "AUTO"); | |
configuration.Add("quartz.jobStore.type", "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz"); | |
configuration.Add("quartz.jobStore.driverDelegateType", "Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz"); | |
configuration.Add("quartz.jobStore.dataSource", "dataStore"); | |
configuration.Add("quartz.dataSource.dataStore.provider", "SqlServer-20"); | |
configuration.Add("quartz.dataSource.dataStore.connectionString", "Data Source=.;Initial Catalog=QuartzTest;Integrated Security=True"); | |
configuration.Add("quartz.jobStore.useProperties", "true"); | |
// configuration.Add("quartz.jobStore.misfireThreshold", "5000"); | |
configuration.Add("quartz.jobStore.clustered", "true"); | |
//configuration.Add("quartz.jobStore.clusterCheckinInterval", "10000"); | |
var factory = new StdSchedulerFactory(configuration); | |
var scheduler = factory.GetScheduler(); | |
scheduler.ListenerManager.AddTriggerListener(new TriggerListener("TriggerListner")); | |
Log("Start"); | |
scheduler.Start(); | |
ScheduleJob(scheduler); | |
} | |
private static void Log(string message) | |
{ | |
Console.WriteLine("{0} {1} {2}", Process.GetCurrentProcess().Id, DateTimeOffset.Now, message); | |
} | |
private static void ScheduleJob(IScheduler scheduler) | |
{ | |
if (scheduler.CheckExists(new JobKey("job")) || scheduler.CheckExists(new TriggerKey("trigger"))) return; | |
var jobDetail = new JobDetailImpl("job", null, typeof (TestJob)); | |
//fire every 5 sec | |
var trigger = new SimpleTriggerImpl("trigger", | |
null, | |
DateTime.UtcNow, | |
null, | |
SimpleTriggerImpl.RepeatIndefinitely, | |
TimeSpan.FromSeconds(5)); | |
scheduler.ScheduleJob(jobDetail, trigger); | |
} | |
} | |
[DisallowConcurrentExecutionAttribute] | |
public class TestJob : IJob | |
{ | |
public void Execute(IJobExecutionContext context) | |
{ | |
Log("TestJob " + context.JobDetail.Key); | |
Log("Next: " + context.NextFireTimeUtc); | |
} | |
private static void Log(string message) | |
{ | |
Console.WriteLine("{0} {1} {2}", Process.GetCurrentProcess().Id, DateTimeOffset.Now, message); | |
} | |
} | |
public class TriggerListener : ITriggerListener | |
{ | |
public TriggerListener(string name) | |
{ | |
Name = name; | |
} | |
public void TriggerFired(ITrigger trigger, IJobExecutionContext context) | |
{ | |
Log("Fired"); | |
} | |
public bool VetoJobExecution(ITrigger trigger, IJobExecutionContext context) | |
{ | |
return false; | |
} | |
public void TriggerMisfired(ITrigger trigger) | |
{ | |
Log("Misfired"); | |
} | |
public void TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode) | |
{ | |
} | |
public string Name { get; private set; } | |
private static void Log(string message) | |
{ | |
Console.WriteLine("{0} {1} {2}", Process.GetCurrentProcess().Id, DateTimeOffset.Now, message); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--# thanks to George Papastamatopoulos for submitting this ... and Marko Lahma for | |
--# updating it. | |
--USE [enter_db_name_here] | |
CREATE DATABASE [QuartzTest] | |
CONTAINMENT = NONE | |
ON PRIMARY | |
( NAME = N'QuartzTest', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\QuartzTest.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) | |
LOG ON | |
( NAME = N'QuartzTest_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\QuartzTest_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) | |
GO | |
ALTER DATABASE [QuartzTest] SET COMPATIBILITY_LEVEL = 110 | |
GO | |
use QuartzTest | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1) | |
ALTER TABLE [dbo].[QRTZ_TRIGGERS] DROP CONSTRAINT FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1) | |
ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] DROP CONSTRAINT FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1) | |
ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1) | |
ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS | |
GO | |
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_QRTZ_JOB_LISTENERS_QRTZ_JOB_DETAILS]') AND parent_object_id = OBJECT_ID(N'[dbo].[QRTZ_JOB_LISTENERS]')) | |
ALTER TABLE [dbo].[QRTZ_JOB_LISTENERS] DROP CONSTRAINT [FK_QRTZ_JOB_LISTENERS_QRTZ_JOB_DETAILS] | |
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGER_LISTENERS_QRTZ_TRIGGERS]') AND parent_object_id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGER_LISTENERS]')) | |
ALTER TABLE [dbo].[QRTZ_TRIGGER_LISTENERS] DROP CONSTRAINT [FK_QRTZ_TRIGGER_LISTENERS_QRTZ_TRIGGERS] | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CALENDARS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_CALENDARS] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CRON_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_CRON_TRIGGERS] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_BLOB_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_BLOB_TRIGGERS] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_FIRED_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_FIRED_TRIGGERS] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_PAUSED_TRIGGER_GRPS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] | |
GO | |
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_JOB_LISTENERS]') AND type in (N'U')) | |
DROP TABLE [dbo].[QRTZ_JOB_LISTENERS] | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SCHEDULER_STATE]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_SCHEDULER_STATE] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_LOCKS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_LOCKS] | |
GO | |
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGER_LISTENERS]') AND type in (N'U')) | |
DROP TABLE [dbo].[QRTZ_TRIGGER_LISTENERS] | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_JOB_DETAILS] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPLE_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPROP_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].QRTZ_SIMPROP_TRIGGERS | |
GO | |
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1) | |
DROP TABLE [dbo].[QRTZ_TRIGGERS] | |
GO | |
CREATE TABLE [dbo].[QRTZ_CALENDARS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[CALENDAR_NAME] [NVARCHAR] (200) NOT NULL , | |
[CALENDAR] [IMAGE] NOT NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[TRIGGER_NAME] [NVARCHAR] (150) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL , | |
[CRON_EXPRESSION] [NVARCHAR] (120) NOT NULL , | |
[TIME_ZONE_ID] [NVARCHAR] (80) | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[ENTRY_ID] [NVARCHAR] (95) NOT NULL , | |
[TRIGGER_NAME] [NVARCHAR] (150) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL , | |
[INSTANCE_NAME] [NVARCHAR] (200) NOT NULL , | |
[FIRED_TIME] [BIGINT] NOT NULL , | |
[SCHED_TIME] [BIGINT] NOT NULL , | |
[PRIORITY] [INTEGER] NOT NULL , | |
[STATE] [NVARCHAR] (16) NOT NULL, | |
[JOB_NAME] [NVARCHAR] (150) NULL , | |
[JOB_GROUP] [NVARCHAR] (150) NULL , | |
[IS_NONCONCURRENT] BIT NULL , | |
[REQUESTS_RECOVERY] BIT NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[INSTANCE_NAME] [NVARCHAR] (200) NOT NULL , | |
[LAST_CHECKIN_TIME] [BIGINT] NOT NULL , | |
[CHECKIN_INTERVAL] [BIGINT] NOT NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_LOCKS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[LOCK_NAME] [NVARCHAR] (40) NOT NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_JOB_DETAILS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[JOB_NAME] [NVARCHAR] (150) NOT NULL , | |
[JOB_GROUP] [NVARCHAR] (150) NOT NULL , | |
[DESCRIPTION] [NVARCHAR] (250) NULL , | |
[JOB_CLASS_NAME] [NVARCHAR] (250) NOT NULL , | |
[IS_DURABLE] BIT NOT NULL , | |
[IS_NONCONCURRENT] BIT NOT NULL , | |
[IS_UPDATE_DATA] BIT NOT NULL , | |
[REQUESTS_RECOVERY] BIT NOT NULL , | |
[JOB_DATA] [IMAGE] NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[TRIGGER_NAME] [NVARCHAR] (150) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL , | |
[REPEAT_COUNT] [INTEGER] NOT NULL , | |
[REPEAT_INTERVAL] [BIGINT] NOT NULL , | |
[TIMES_TRIGGERED] [INTEGER] NOT NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[TRIGGER_NAME] [NVARCHAR] (150) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL , | |
[STR_PROP_1] [NVARCHAR] (512) NULL, | |
[STR_PROP_2] [NVARCHAR] (512) NULL, | |
[STR_PROP_3] [NVARCHAR] (512) NULL, | |
[INT_PROP_1] [INT] NULL, | |
[INT_PROP_2] [INT] NULL, | |
[LONG_PROP_1] [BIGINT] NULL, | |
[LONG_PROP_2] [BIGINT] NULL, | |
[DEC_PROP_1] [NUMERIC] (13,4) NULL, | |
[DEC_PROP_2] [NUMERIC] (13,4) NULL, | |
[BOOL_PROP_1] BIT NULL, | |
[BOOL_PROP_2] BIT NULL, | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[TRIGGER_NAME] [NVARCHAR] (150) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL , | |
[BLOB_DATA] [IMAGE] NULL | |
) ON [PRIMARY] | |
GO | |
CREATE TABLE [dbo].[QRTZ_TRIGGERS] ( | |
[SCHED_NAME] [NVARCHAR] (100) NOT NULL , | |
[TRIGGER_NAME] [NVARCHAR] (150) NOT NULL , | |
[TRIGGER_GROUP] [NVARCHAR] (150) NOT NULL , | |
[JOB_NAME] [NVARCHAR] (150) NOT NULL , | |
[JOB_GROUP] [NVARCHAR] (150) NOT NULL , | |
[DESCRIPTION] [NVARCHAR] (250) NULL , | |
[NEXT_FIRE_TIME] [BIGINT] NULL , | |
[PREV_FIRE_TIME] [BIGINT] NULL , | |
[PRIORITY] [INTEGER] NULL , | |
[TRIGGER_STATE] [NVARCHAR] (16) NOT NULL , | |
[TRIGGER_TYPE] [NVARCHAR] (8) NOT NULL , | |
[START_TIME] [BIGINT] NOT NULL , | |
[END_TIME] [BIGINT] NULL , | |
[CALENDAR_NAME] [NVARCHAR] (200) NULL , | |
[MISFIRE_INSTR] [INTEGER] NULL , | |
[JOB_DATA] [IMAGE] NULL | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[CALENDAR_NAME] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[ENTRY_ID] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[TRIGGER_GROUP] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[INSTANCE_NAME] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[LOCK_NAME] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[JOB_NAME], | |
[JOB_GROUP] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD | |
CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY CLUSTERED | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON [PRIMARY] | |
GO | |
ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD | |
CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) REFERENCES [dbo].[QRTZ_TRIGGERS] ( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON DELETE CASCADE | |
GO | |
ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD | |
CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) REFERENCES [dbo].[QRTZ_TRIGGERS] ( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON DELETE CASCADE | |
GO | |
ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD | |
CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY | |
( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) REFERENCES [dbo].[QRTZ_TRIGGERS] ( | |
[SCHED_NAME], | |
[TRIGGER_NAME], | |
[TRIGGER_GROUP] | |
) ON DELETE CASCADE | |
GO | |
ALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD | |
CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY | |
( | |
[SCHED_NAME], | |
[JOB_NAME], | |
[JOB_GROUP] | |
) REFERENCES [dbo].[QRTZ_JOB_DETAILS] ( | |
[SCHED_NAME], | |
[JOB_NAME], | |
[JOB_GROUP] | |
) | |
GO | |
CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP) | |
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP) | |
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME) | |
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP) | |
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE) | |
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE) | |
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE) | |
CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME) | |
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME) | |
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME) | |
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE) | |
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE) | |
CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME) | |
CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY) | |
CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP) | |
CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP) | |
CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP) | |
GO |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment