+--
+-- TABLE workerqueue
+--
+CREATE TABLE IF NOT EXISTS `workerqueue` (
+ `id` int unsigned NOT NULL auto_increment COMMENT 'Auto incremented worker task id',
+ `command` varchar(100) COMMENT 'Task command',
+ `parameter` mediumtext COMMENT 'Task parameter',
+ `priority` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'Task priority',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation date',
+ `pid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Process id of the worker',
+ `executed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Execution date',
+ `next_try` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Next retrial date',
+ `retrial` tinyint NOT NULL DEFAULT 0 COMMENT 'Retrial counter',
+ `done` boolean NOT NULL DEFAULT '0' COMMENT 'Marked 1 when the task was done - will be deleted later',
+ PRIMARY KEY(`id`),
+ INDEX `command` (`command`),
+ INDEX `done_command_parameter` (`done`,`command`,`parameter`(64)),
+ INDEX `done_executed` (`done`,`executed`),
+ INDEX `done_priority_retrial_created` (`done`,`priority`,`retrial`,`created`),
+ INDEX `done_priority_next_try` (`done`,`priority`,`next_try`),
+ INDEX `done_pid_next_try` (`done`,`pid`,`next_try`),
+ INDEX `done_pid_retrial` (`done`,`pid`,`retrial`),
+ INDEX `done_pid_priority_created` (`done`,`pid`,`priority`,`created`)
+) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Background tasks queue entries';
+