All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sql.mysql.sql Maven / Gradle / Ivy


CREATE TABLE jobengine_job (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  name varchar(128) COLLATE utf8_bin NOT NULL,
  description varchar(2028) COLLATE utf8_bin DEFAULT NULL,
  tags varchar(1024) COLLATE utf8_bin DEFAULT NULL,
  worker_class_name varchar(255) COLLATE utf8_bin NOT NULL,
  parameters_class_name varchar(255) COLLATE utf8_bin DEFAULT NULL,
  schedule varchar(128) COLLATE utf8_bin DEFAULT NULL,
  status varchar(32) COLLATE utf8_bin NOT NULL DEFAULT 'ACTIVE',
  threads int(4) NOT NULL DEFAULT '1',
  max_per_minute int(6) DEFAULT NULL,
  fail_retries int(4) NOT NULL DEFAULT '0',
  retry_delay int(11) unsigned NOT NULL DEFAULT '4000',
  unique_in_queue bit(1) NOT NULL DEFAULT b'1',
  days_until_clean_up int(4) NOT NULL DEFAULT '30',
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  version int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (id),
  UNIQUE KEY worker_class_name (worker_class_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE jobengine_execution (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  job_id bigint(20) NOT NULL,
  status varchar(32) COLLATE utf8_bin NOT NULL DEFAULT 'QUEUED',
  started_at datetime DEFAULT NULL,
  ended_at datetime DEFAULT NULL,
  priority bit(1) NOT NULL DEFAULT b'0',
  maturity datetime DEFAULT NULL,
  batch_id bigint(20) DEFAULT NULL,
  chain_id bigint(20) DEFAULT NULL,
  chain_previous_execution_id bigint(20) DEFAULT NULL,
  duration bigint(20) DEFAULT NULL,
  parameters mediumtext COLLATE utf8_bin,
  parameters_hash int(11) DEFAULT NULL,
  log mediumtext COLLATE utf8_bin,
  fail_retry int(4) NOT NULL DEFAULT '0',
  fail_retry_execution_id bigint(20) DEFAULT NULL,
  fail_message varchar(4096) COLLATE utf8_bin DEFAULT NULL,
  fail_stacktrace mediumtext COLLATE utf8_bin,
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  PRIMARY KEY (id),
  KEY fk_jobengine_job_execution_job_idx (job_id),
  KEY idx_jobengine_job_execution__jobid__status (job_id,status),
  KEY idx_jobengine_job_execution__poller (job_id,status,parameters_hash),
  KEY idx_jobengine_job_execution__chain_id__chain_prev_exec_id (chain_id,chain_previous_execution_id),
  KEY idx_jobengine_job_execution__batch_id_status (batch_id,status),
  KEY idx_jobengine_job_execution__startet_at_status (started_at,status),
  CONSTRAINT fk_jobengine_job_execution_job FOREIGN KEY (job_id) REFERENCES jobengine_job (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE jobengine_config (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  time_zone varchar(64) COLLATE utf8_bin DEFAULT NULL,
  job_queue_poller_interval int(6) NOT NULL,
  job_queue_max int(6) NOT NULL,
  job_queue_min int(6) NOT NULL,
  zombie_recognition_time int(6) NOT NULL,
  zombie_cure_status varchar(32) COLLATE utf8_bin NOT NULL,
  days_until_statistic_minutes_deletion int(6) NOT NULL,
  days_until_statistic_hours_deletion int(6) NOT NULL,
  log_change varchar(128) COLLATE utf8_bin DEFAULT NULL,
  log_time_formatter varchar(128) COLLATE utf8_bin NOT NULL,
  log_info_marker varchar(128) COLLATE utf8_bin DEFAULT NULL,
  log_warn_marker varchar(128) COLLATE utf8_bin DEFAULT NULL,
  log_error_marker varchar(128) COLLATE utf8_bin DEFAULT NULL,
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE jobengine_log (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  message mediumtext COLLATE utf8_bin DEFAULT NULL,
  job_id bigint(20) DEFAULT NULL,
  job_status varchar(32) COLLATE utf8_bin DEFAULT NULL,
  by_user bit(1) NOT NULL DEFAULT b'0',
  change_parameter varchar(128) COLLATE utf8_bin DEFAULT NULL,
  change_old varchar(1024) COLLATE utf8_bin DEFAULT NULL,
  change_new varchar(1024) COLLATE utf8_bin DEFAULT NULL,
  host_name varchar(256) COLLATE utf8_bin DEFAULT NULL,
  stacktrace mediumtext COLLATE utf8_bin DEFAULT NULL,
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  PRIMARY KEY (id),
  KEY fk_jobengine_job_log_job_idx (job_id),
  KEY idx_jobengine_job_log__jobid__status (job_id,job_status),
  CONSTRAINT fk_jobengine_job_log_job FOREIGN KEY (job_id) REFERENCES jobengine_job (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE jobengine_statistic_minute (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  job_id bigint(20) NOT NULL,
  recorded_from datetime NOT NULL,
  recorded_to datetime NOT NULL,
  duration_count int(4) NOT NULL,
  duration_sum bigint(20) DEFAULT NULL,
  duration_max bigint(20) DEFAULT NULL,
  duration_min bigint(20) DEFAULT NULL,
  duration_avg bigint(20) DEFAULT NULL,
  duration_median bigint(20) DEFAULT NULL,
  queued int(4) DEFAULT 0,
  finished int(4) DEFAULT 0,
  failed int(4) DEFAULT 0,
  schedule int(4) DEFAULT 0,
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  PRIMARY KEY (id),
  KEY fk_jobengine_job_statistic_minute_job_idx (job_id),
  KEY idx_jobengine_job_statistic_minute__jobid__created_at (job_id,created_at),
  KEY idx_jobengine_job_statistic_minute__jobid__from_to (job_id,recorded_from,recorded_to),
  CONSTRAINT fk_jobengine_job_statistic_minute_job FOREIGN KEY (job_id) REFERENCES jobengine_job (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE jobengine_statistic_hour (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  job_id bigint(20) NOT NULL,
  recorded_from datetime NOT NULL,
  recorded_to datetime NOT NULL,
  duration_count int(4) NOT NULL,
  duration_sum bigint(20) DEFAULT NULL,
  duration_max bigint(20) DEFAULT NULL,
  duration_min bigint(20) DEFAULT NULL,
  duration_avg bigint(20) DEFAULT NULL,
  finished int(4) DEFAULT 0,
  failed int(4) DEFAULT 0,
  schedule int(4) DEFAULT 0,
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  PRIMARY KEY (id),
  KEY fk_jobengine_job_statistic_hour_job_idx (job_id),
  KEY idx_jobengine_job_statistic_hour__jobid__created_at (job_id,created_at),
  KEY idx_jobengine_job_statistic_hour__jobid__from_to (job_id,recorded_from,recorded_to),
  CONSTRAINT fk_jobengine_job_statistic_hour_job FOREIGN KEY (job_id) REFERENCES jobengine_job (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE TABLE jobengine_statistic_day (
  id bigint(20) NOT NULL AUTO_INCREMENT,
  job_id bigint(20) NOT NULL,
  recorded_from datetime NOT NULL,
  recorded_to datetime NOT NULL,
  duration_count int(4) NOT NULL,
  duration_sum bigint(20) DEFAULT NULL,
  duration_max bigint(20) DEFAULT NULL,
  duration_min bigint(20) DEFAULT NULL,
  duration_avg bigint(20) DEFAULT NULL,
  finished int(4) DEFAULT 0,
  failed int(4) DEFAULT 0,
  schedule int(4) DEFAULT 0,
  created_at datetime NOT NULL,
  updated_at datetime DEFAULT NULL,
  PRIMARY KEY (id),
  KEY fk_jobengine_job_statistic_day_job_idx (job_id),
  KEY idx_jobengine_job_statistic_day__jobid__created_at (job_id,created_at),
  KEY idx_jobengine_job_statistic_day__jobid__from_to (job_id,recorded_from,recorded_to),
  CONSTRAINT fk_jobengine_job_statistic_day_job FOREIGN KEY (job_id) REFERENCES jobengine_job (id) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

CREATE VIEW jobengine_log_view AS
SELECT log.id,
  log.message,
  log.job_id,
  job.name AS job_name,
  job.description AS job_description,
  log.job_status AS job_status,
  job.fail_retries AS job_fail_retries,
  job.threads AS job_threads,
  log.by_user,
  log.change_parameter,
  log.change_old,
  log.change_new,
  log.host_name,
  IF(log.stacktrace IS NULL, FALSE, TRUE) AS stacktrace,
  log.updated_at,
  log.created_at
FROM jobengine_log log
LEFT JOIN jobengine_job job ON log.job_id = job.id;

CREATE VIEW jobengine_execution_view AS
SELECT ex.id,
  ex.job_id,
  job.name AS job_name,
  job.description AS job_description,
  job.status AS job_status,
  job.fail_retries AS job_fail_retries,
  job.threads AS job_threads,
  ex.status,
  ex.started_at,
  ex.ended_at,
  ex.priority,
  ex.maturity,
  ex.batch_id,
  ex.chain_id,
  ex.chain_previous_execution_id,
  ex.duration,
  ex.parameters,
  ex.fail_retry,
  ex.fail_retry_execution_id,
  ex.fail_message,
  ex.updated_at,
  ex.created_at
FROM jobengine_execution ex
LEFT JOIN jobengine_job job ON ex.job_id = job.id;

CREATE VIEW jobengine_job_count_view AS
SELECT 
	j.*,
	COUNT(*) total,
    SUM(CASE WHEN e.status = 'QUEUED'   THEN 1 ELSE 0 END) queued,
    SUM(CASE WHEN e.status = 'RUNNING'  THEN 1 ELSE 0 END) running
FROM jobengine_job j
LEFT OUTER JOIN jobengine_execution e ON j.id = e.job_id
GROUP BY j.id;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy