Skip to content

Commit

Permalink
mxq_job: Jobs with job_status loaded are now counted as running jobs
Browse files Browse the repository at this point in the history
  • Loading branch information
mariux committed Jul 26, 2015
1 parent d819f92 commit bb532af
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
2 changes: 1 addition & 1 deletion mxq_job.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ int mxq_set_job_status_exited(struct mx_mysql *mysql, struct mxq_job *job)
" stats_nvcsw = ?, "
" stats_nivcsw = ?"
" WHERE job_id = ?"
" AND job_status = " status_str(MXQ_JOB_STATUS_RUNNING)
" AND job_status IN (" status_str(MXQ_JOB_STATUS_LOADED) ", " status_str(MXQ_JOB_STATUS_RUNNING) ")"
" AND host_hostname = ?"
" AND server_id = ?"
" AND host_pid = ?";
Expand Down
13 changes: 9 additions & 4 deletions mysql/create_tables
Original file line number Diff line number Diff line change
Expand Up @@ -171,14 +171,19 @@ DROP TRIGGER mxq_update_job|
CREATE TRIGGER mxq_update_job BEFORE UPDATE ON mxq_job
FOR EACH ROW BEGIN
IF NEW.job_status != OLD.job_status THEN
IF NEW.job_status = 200 AND OLD.job_status IN (0, 100, 150) THEN
IF NEW.job_status IN (150, 200) AND OLD.job_status IN (0, 100) THEN
UPDATE mxq_group SET
group_jobs_inq=group_jobs_inq-1,
group_jobs_running=group_jobs_running+1,
group_slots_running=group_slots_running+NEW.host_slots,
group_mtime=NULL
WHERE group_id=NEW.group_id;
ELSEIF NEW.job_status IN (400, 750) AND OLD.job_status IN (200, 250, 300, 350) THEN
ELSEIF NEW.job_status = 200 AND OLD.job_status = 150 THEN
UPDATE mxq_group SET
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
UPDATE mxq_group SET
group_slots_running=group_slots_running-NEW.host_slots,
group_jobs_running=group_jobs_running-1,
Expand All @@ -195,7 +200,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 (200, 250) THEN
ELSEIF NEW.job_status = 999 AND OLD.job_status IN (150, 200, 250) THEN
UPDATE mxq_group SET
group_slots_running=group_slots_running-NEW.host_slots,
group_jobs_running=group_jobs_running-1,
Expand All @@ -209,7 +214,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 (200, 250, 300, 350) THEN
ELSEIF NEW.job_status = 1000 AND OLD.job_status IN (150, 200, 250, 300, 350) THEN
UPDATE mxq_group SET
group_slots_running=group_slots_running-NEW.host_slots,
group_jobs_running=group_jobs_running-1,
Expand Down

0 comments on commit bb532af

Please sign in to comment.