CREATE TABLE IF NOT EXISTS `def_scheduler` (
`Guid` char(255) NOT NULL,
`Package` char(36) NOT NULL,
`TaskName` char(255) DEFAULT NULL,
`TaskDescription` mediumtext DEFAULT NULL,
`Active` char(1) DEFAULT NULL,
`Crontab` char(50) DEFAULT NULL,
`CrontabDescription` char(255) DEFAULT NULL,
`TriggerType` char(50) DEFAULT NULL,
`TriggerCooldown` int(11) DEFAULT NULL,
`TriggerSql` text DEFAULT NULL,
`Workflow` char(255) DEFAULT NULL,
`CalculationName` char(255) DEFAULT NULL,
`RepeatFlag` char(1) DEFAULT NULL,
`ForceTimeFlag` char(1) DEFAULT 'N',
`StartWhen` datetime DEFAULT NULL,
`EndWhen` datetime DEFAULT NULL,
`LastTrigger` datetime DEFAULT NULL,
`Runcounter` tinyint(4) DEFAULT NULL,
`Status` char(50) DEFAULT NULL,
`PreSql` text DEFAULT NULL,
`PostSql` text DEFAULT NULL,
`Param1` text DEFAULT NULL,
`Param2` text DEFAULT NULL,
`Param3` text DEFAULT NULL,
`Param4` text DEFAULT NULL,
`Param5` text DEFAULT NULL,
`Param6` text DEFAULT NULL,
`Param7` text DEFAULT NULL,
`Param8` text DEFAULT NULL,
`Param9` text DEFAULT NULL,
`User` char(150) DEFAULT NULL,
`TimeAdded` datetime DEFAULT current_timestamp(),
`Module` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Guid`, `Package`),
KEY `idx_scheduler_workflow` (`Workflow`),
KEY `idx_scheduler_package_active` (`Package`, `Active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE={collation}
CREATE TABLE IF NOT EXISTS `stage_scheduler` (
`Guid` char(255) NOT NULL,
`Package` char(36) DEFAULT NULL,
`StrategyCode` char(50) DEFAULT NULL,
`StrategyType` char(50) DEFAULT NULL,
`Status` char(50) DEFAULT NULL,
`LiveStatus` char(50) DEFAULT NULL,
`Instance` char(255) DEFAULT NULL,
`RecordGuid` char(255) DEFAULT NULL,
`RunParent` char(255) DEFAULT NULL,
`DispatcherName` char(255) DEFAULT NULL,
`DispatcherPid` int(11) DEFAULT NULL,
`WorkerPid` int(11) DEFAULT NULL,
`CPULoad` int(11) DEFAULT '0',
`MemoryLoad` int(11) DEFAULT '0',
`DiskLoad` int(11) DEFAULT '0',
`RunImports` char(1) DEFAULT NULL,
`NoNewRecords` char(1) DEFAULT NULL,
`Param1` char(255) DEFAULT NULL,
`Param2` char(255) DEFAULT NULL,
`Param3` char(255) DEFAULT NULL,
`Result1` text DEFAULT NULL,
`Result2` text DEFAULT NULL,
`Result3` text DEFAULT NULL,
`TimeScheduled` datetime DEFAULT NULL,
`TimeAdded` datetime DEFAULT current_timestamp(),
`TimeCompleted` datetime DEFAULT NULL,
`Module` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Guid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE={collation}
SELECT * FROM def_scheduler
WHERE Guid = '{guid}' AND Active = 'Y'
SELECT Guid, Package FROM def_scheduler
WHERE TaskName = '{task_name}' AND Active = 'Y'
AND LENGTH(Crontab) > 0
AND EndWhen > NOW()
AND Package IN ('CORE','SYSTEM','{package}')
LIMIT 1
SELECT Guid, TaskName, Crontab, StartWhen, EndWhen,
RepeatFlag, TriggerType, Workflow, Runcounter, Package
FROM def_scheduler
WHERE Active = 'Y'
AND LENGTH(Crontab) > 0
AND EndWhen > NOW()
AND Package IN ('CORE','SYSTEM','{package}')
SELECT TaskName FROM def_scheduler
WHERE Active = 'Y'
AND LENGTH(Crontab) > 0
AND EndWhen > NOW()
AND Package IN ('CORE','SYSTEM','{package}')
ORDER BY TaskName
UPDATE def_scheduler
SET Status = 'DONE', LastTrigger = NOW()
WHERE Guid = '{guid}'
UPDATE def_scheduler
SET Runcounter = {run_counter}, LastTrigger = NOW()
WHERE Guid = '{guid}'
UPDATE def_scheduler
SET Active = 'N', Status = 'COMPLETE',
Runcounter = {run_counter}, LastTrigger = NOW()
WHERE Guid = '{guid}'