diff --git a/mxq_job.c b/mxq_job.c index a3f7cd06..e77f7e38 100644 --- a/mxq_job.c +++ b/mxq_job.c @@ -138,6 +138,8 @@ char *mxq_job_status_to_name(uint64_t status) return "unknownpre"; case MXQ_JOB_STATUS_CANCELLED: return "cancelled"; + case MXQ_JOB_STATUS_CANCELLING: + return "cancelling"; case MXQ_JOB_STATUS_UNKNOWN: return "unknown"; case MXQ_JOB_STATUS_FINISHED: diff --git a/mxq_job.h b/mxq_job.h index fa2ff669..b52cd43e 100644 --- a/mxq_job.h +++ b/mxq_job.h @@ -74,6 +74,7 @@ struct mxq_job { #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 diff --git a/mysql/create_tables.sql b/mysql/create_tables.sql index 8b6b99a7..c318497c 100644 --- a/mysql/create_tables.sql +++ b/mysql/create_tables.sql @@ -214,7 +214,7 @@ CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job stats_total_real_sec=stats_total_real_sec+NEW.stats_real_sec, group_mtime=NULL WHERE group_id=NEW.group_id; - ELSEIF NEW.job_status = 990 AND OLD.job_status = 0 THEN + ELSEIF NEW.job_status = 990 AND OLD.job_status IN (0, 989) THEN UPDATE mxq_group SET group_jobs_inq=group_jobs_inq-1, group_jobs_cancelled=group_jobs_cancelled+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 != 990 AND NEW.job_status != 755 THEN + ELSEIF NEW.job_status NOT IN (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 c96f6028..21a3bdcd 100755 --- a/web/pages/mxq/mxq.in +++ b/web/pages/mxq/mxq.in @@ -85,6 +85,7 @@ sub db_init { KILLED => 400, FAILED => 750, UNKNOWN_PRE => 755, + CANCELLING => 989, CANCELLED => 990, UNKNOWN => 999, FINISHED => 1000,