diff --git a/mxqkill.c b/mxqkill.c index 2c4eff3..4ebc288 100644 --- a/mxqkill.c +++ b/mxqkill.c @@ -133,7 +133,7 @@ static int update_job_status_cancelled_by_group(struct mx_mysql *mysql, struct m "UPDATE mxq_job SET" " job_status = " status_str(MXQ_JOB_STATUS_CANCELLED) " WHERE group_id = ?" - " AND job_status = " status_str(MXQ_JOB_STATUS_INQ) + " AND job_status = IN (" status_str(MXQ_JOB_STATUS_INQ) "," status_str(MXQ_JOB_STATUS_ASSIGNED) ")" " AND host_hostname = ''" " AND server_id = ''" " AND host_pid = 0" @@ -180,7 +180,7 @@ static int update_job_status_cancelling_by_job_id_for_user(struct mx_mysql *mysq " job_status = " status_str(MXQ_JOB_STATUS_CANCELLING) " WHERE job_id = ?" " AND user_uid = ?" - " AND job_status = " status_str(MXQ_JOB_STATUS_INQ) + " AND job_status IN (" status_str(MXQ_JOB_STATUS_INQ) "," status_str(MXQ_JOB_STATUS_ASSIGNED) ")" " AND host_hostname = ''" " AND server_id = ''" " AND host_pid = 0" diff --git a/mysql/create_tables.sql b/mysql/create_tables.sql index deeb890..3ce99fb 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 IN (0, 989) THEN + ELSEIF NEW.job_status = 990 AND OLD.job_status IN (0, 100, 989) THEN UPDATE mxq_group SET group_jobs_inq=group_jobs_inq-1, group_jobs_cancelled=group_jobs_cancelled+1,