diff --git a/mxq_job.c b/mxq_job.c index d4bbe21f..4b33fda3 100644 --- a/mxq_job.c +++ b/mxq_job.c @@ -601,7 +601,7 @@ int mxq_job_set_tmpfilenames(struct mxq_group *g, struct mxq_job *j) return 1; } -int mxq_load_job_assigned_to_server(struct mx_mysql *mysql, struct mxq_job **mxq_jobs, char *hostname, char *server_id) +int mxq_load_job_from_group_assigned_to_server(struct mx_mysql *mysql, struct mxq_job **mxq_jobs, uint64_t group_id, char *hostname, char *server_id) { int res; struct mxq_job *jobs = NULL; @@ -624,14 +624,16 @@ int mxq_load_job_assigned_to_server(struct mx_mysql *mysql, struct mxq_job **mxq " WHERE job_status = " status_str(MXQ_JOB_STATUS_ASSIGNED) " AND host_hostname = ?" " AND server_id = ?" + " AND group_id = ?" " LIMIT 1"; - res = mx_mysql_bind_init_param(¶m, 2); + res = mx_mysql_bind_init_param(¶m, 3); assert(res == 0); res = 0; res += mx_mysql_bind_var(¶m, 0, string, &hostname); res += mx_mysql_bind_var(¶m, 1, string, &server_id); + res += mx_mysql_bind_var(¶m, 2, uint64, &group_id); assert(res == 0); res = bind_result_job_fields(&result, &j); @@ -662,10 +664,10 @@ int mxq_load_job_from_group_for_server(struct mx_mysql *mysql, struct mxq_job *m assert(*host_id); do { - res = mxq_load_job_assigned_to_server(mysql, &jobs, hostname, server_id); + res = mxq_load_job_from_group_assigned_to_server(mysql, &jobs, group_id, hostname, server_id); if(res < 0) { - mx_log_err(" group_id=%lu :: mxq_load_job_assigned_to_server: %m", group_id); + mx_log_err(" group_id=%lu :: mxq_load_job_from_group_assigned_to_server: %m", group_id); return 0; } if(res == 1) { diff --git a/mxq_job.h b/mxq_job.h index f29baf62..3bf62bbf 100644 --- a/mxq_job.h +++ b/mxq_job.h @@ -105,7 +105,7 @@ int mxq_set_job_status_running(struct mx_mysql *mysql, struct mxq_job *job); int mxq_set_job_status_exited(struct mx_mysql *mysql, struct mxq_job *job); int mxq_set_job_status_unknown_for_server(struct mx_mysql *mysql, char *hostname, char *server_id); int mxq_job_set_tmpfilenames(struct mxq_group *g, struct mxq_job *j); -int mxq_load_job_assigned_to_server(struct mx_mysql *mysql, struct mxq_job **mxq_jobs, char *hostname, char *server_id); +int mxq_load_job_from_group_assigned_to_server(struct mx_mysql *mysql, struct mxq_job **mxq_jobs, uint64_t group_id, char *hostname, char *server_id); int mxq_load_job_from_group_for_server(struct mx_mysql *mysql, struct mxq_job *mxqjob, uint64_t group_id, char *hostname, char *server_id, char *host_id); #endif