diff --git a/mxq_job.c b/mxq_job.c index e77f7e3..1f909de 100644 --- a/mxq_job.c +++ b/mxq_job.c @@ -130,6 +130,8 @@ char *mxq_job_status_to_name(uint64_t status) return "stopped"; case MXQ_JOB_STATUS_EXIT: return "exited"; + case MXQ_JOB_STATUS_KILLING: + return "killing"; case MXQ_JOB_STATUS_KILLED: return "killed"; case MXQ_JOB_STATUS_FAILED: diff --git a/mxq_job.h b/mxq_job.h index b52cd43..5d78ba1 100644 --- a/mxq_job.h +++ b/mxq_job.h @@ -69,16 +69,20 @@ struct mxq_job { #define MXQ_JOB_STATUS_EXTRUNNING 300 #define MXQ_JOB_STATUS_STOPPED 350 -#define MXQ_JOB_STATUS_EXIT 1024 +#define MXQ_JOB_STATUS_KILLING 399 + #define MXQ_JOB_STATUS_KILLED 400 #define MXQ_JOB_STATUS_FAILED 750 #define MXQ_JOB_STATUS_UNKNOWN_PRE 755 #define MXQ_JOB_STATUS_CANCELLING 989 + #define MXQ_JOB_STATUS_CANCELLED 990 #define MXQ_JOB_STATUS_UNKNOWN 999 #define MXQ_JOB_STATUS_FINISHED 1000 +#define MXQ_JOB_STATUS_EXIT 1024 + #define MXQ_JOB_FLAGS_RESTART_ON_HOSTFAIL (1<<0) #define MXQ_JOB_FLAGS_REQUEUE_ON_HOSTFAIL (1<<1) diff --git a/mysql/create_tables.sql b/mysql/create_tables.sql index c318497..deeb890 100644 --- a/mysql/create_tables.sql +++ b/mysql/create_tables.sql @@ -200,7 +200,7 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job group_slots_running=group_slots_running-OLD.host_slots+NEW.host_slots, group_mtime=NULL WHERE group_id=NEW.group_id; - ELSEIF NEW.job_status IN (400, 750) AND OLD.job_status IN (150, 200, 250, 300, 350) THEN + ELSEIF NEW.job_status IN (400, 750) AND OLD.job_status IN (150, 200, 250, 300, 350, 399) THEN UPDATE mxq_group SET group_slots_running=group_slots_running-NEW.host_slots, group_jobs_running=group_jobs_running-1, @@ -220,7 +220,7 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job group_jobs_cancelled=group_jobs_cancelled+1, group_mtime=NULL WHERE group_id=NEW.group_id; - ELSEIF NEW.job_status = 999 AND OLD.job_status IN (150, 200, 250) THEN + ELSEIF NEW.job_status = 999 AND OLD.job_status IN (150, 200, 250, 399) THEN UPDATE mxq_group SET group_slots_running=group_slots_running-NEW.host_slots, group_jobs_running=group_jobs_running-1, @@ -233,7 +233,7 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job group_jobs_unknown=group_jobs_unknown+1, group_mtime=NULL WHERE group_id=NEW.group_id; - ELSEIF NEW.job_status = 1000 AND OLD.job_status IN (150, 200, 250, 300, 350) THEN + ELSEIF NEW.job_status = 1000 AND OLD.job_status IN (150, 200, 250, 300, 350, 399) THEN UPDATE mxq_group SET group_slots_running=group_slots_running-NEW.host_slots, group_jobs_running=group_jobs_running-1, @@ -250,7 +250,7 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job stats_total_real_sec_finished=stats_total_real_sec_finished+NEW.stats_real_sec, group_mtime=NULL WHERE group_id=NEW.group_id; - ELSEIF NEW.job_status NOT IN (755, 989, 990) THEN + ELSEIF NEW.job_status NOT IN (399, 755, 989, 990) THEN UPDATE mxq_group SET stats_max_maxrss=GREATEST(stats_max_maxrss, NEW.stats_maxrss), stats_max_utime_sec=GREATEST(stats_max_utime_sec, NEW.stats_utime_sec), diff --git a/web/pages/mxq/mxq.in b/web/pages/mxq/mxq.in index 21a3bdc..8e7cfd0 100755 --- a/web/pages/mxq/mxq.in +++ b/web/pages/mxq/mxq.in @@ -82,6 +82,7 @@ sub db_init { EXTRUNNING => 300, STOPPED => 350, EXIT => 1024, + KILLING => 399, KILLED => 400, FAILED => 750, UNKNOWN_PRE => 755,