diff --git a/src/server/mysql.c b/src/server/mysql.c --- a/src/server/mysql.c +++ b/src/server/mysql.c @@ -171,114 +171,15 @@ int mysqlResultFree(distrend_mysql_resul return 0; } -<<<<<<< local - - /* Individual query functions: -======= -/** - Querying Functions ->>>>>>> other */ -<<<<<<< local -======= -/** Finish-Setter: Sets a frame to the "completed" status.*/ -// @QUERY: update `distren`.`Job` set `Finish_Confirmed`=1 where `Job_Key`='1' and `Frame` = somenumber; -void finish_frame(int slaveKey, int jobKey, int frameNum, distrend_mysql_con_t conn) +void finish_frame(distrend_mysql_conn_t conn, int32_t jobkey, int32_t framenum) { - MYSQL_RES *result; - MYSQL_ROW row; ->>>>>>> other - -<<<<<<< local -void finish_frame(distrend_mysql_conn_t conn, int32_t jobkey, int32_t framenum) -======= - char *query = "update `distren`.`Job` set `Finish_Confirmed`=1 where `Job_Key`='1' and `Frame` = somenumber;"; - result = mysqlQuery(conn, query); - - // Check to make sure the slavekey is the one who rendered the frame before finishing :D - /* - distrenjob->frameset[frame].status = FRAMESETSTATUS_DONE; - distrenjob->total_render_time = distrenjob->total_render_time + (clock() - distrenjob->frameset[frame].start_time); - distrenjob->completed_frames ++; - distrenjob->assigned_frames --; - geninfo->total_frames_rendered ++; //< Increase total frames var for stats - update_general_info(geninfo); - updateJobStatsXML(distrenjob); - */ -} - -/** Changes the priority of an existing (and maybe running) job. @arg head I may end up changing the head if job == head */ -// @QUERY: update `distren`.`Job` set `Priority`='12', `Finish_Confirmed`=1 where `Job_Key`='1'; -int change_job_priority(int jobKey, int newPriority, distrend_mysql_con_t conn){ - /* - struct distrenjob *current_job; - struct distrenjob *prev_job; - char *serialname; - - distrenjob_remove(geninfo, job); - job->priority = new_priority; - - prev_job = &geninfo->head; - - if(job->frameset[0].status == FRAMESETSTATUS_UNASSIGNED) - - // if job was not yet started + char *query; + distrend_mysql_result_t result; - { - distrenjob_enqueue(geninfo, job); - return 0; - } - - - // iterate through linked list of jobs - for(current_job = &geninfo->head; - current_job != NULL - && job->priority > current_job->priority; - current_job = current_job->next) - prev_job = current_job; - - prev_job->next = job; - job->next = current_job; - - - update_xml_joblist(geninfo); - // reserialize after changes - job_getserialfilename(&serialname, geninfo, job->jobnum, 0); - distrenjob_serialize(job, serialname); - free(serialname); -*/ - return 0; -} - -/** - Frame Finder: Finds a frame for a slave to render -*/ -// @QUERY: Frame_Get() -int find_jobframe(int slaveKey, int *jobKey, int *frameNum, distrend_mysql_con_t conn) ->>>>>>> other -{ -<<<<<<< local - distrend_mysql_result_t result; - char *query; -======= - /* - if(geninfo->hibernate) - return 1; ->>>>>>> other - -<<<<<<< local - /** - @TODO record the total rendering time for the frame - */ -======= - unsigned int frame_counter; - unsigned short int found; ->>>>>>> other - -<<<<<<< local _distren_asprintf(&query, "UPDATE `distren`.`Job` SET `Finish_Confirmed`=1 WHERE `Job_Key`=%d AND `Frame`=%d", jobkey, framenum); @@ -286,43 +187,35 @@ int find_jobframe(int slaveKey, int *job free(query); mysqlResultFree(result); -======= - struct distrenjob *distrenjob_ptr; +} + +int change_job_priority(distrend_mysql_conn_t conn, int32_t jobkey, int32_t newpriority) +{ + char *query; + distrend_mysql_result_t result; - found = 0; - // iterate through jobs from first to last - for(distrenjob_ptr = geninfo->head.next; distrenjob_ptr && !distrenjob_ptr->hibernate; distrenjob_ptr = distrenjob_ptr->next) - { - for(frame_counter = (distrenjob_ptr->prev_frame_index + 1); frame_counter < distrenjob_ptr->total_frames; frame_counter ++) - { - if(distrenjob_ptr->frameset[frame_counter].status == FRAMESETSTATUS_UNASSIGNED) // jobframe found - { - found = 1; - distrenjob_ptr->frameset[frame_counter].status = FRAMESETSTATUS_ASSIGNED; - distrenjob_ptr->frameset[frame_counter].start_time = clock(); - distrenjob_ptr->assigned_frames++; - distrenjob_ptr->prev_frame_index = frame_counter; - updateJobStatsXML(distrenjob_ptr); - } + _distren_asprintf(&query, "UPDATE `distren`.`Job` SET `Priority`=%d, `Finish_Confirmed`=1 WHERE `Job_Key`=%d", + newpriority, jobkey); + result = mysqlQuery(conn, query); + mysqlResultFree(result); + + return 0; +} - if(found) - break; - } - - if(found) - break; - } +int find_jobframe(distrend_mysql_conn_t conn, int32_t slavekey, int32_t jobkey, int32_t framenum) +{ + distrend_mysql_result_t result; + char *query; - if(!found) - { - fprintf(stderr, "No more jobs to render\n"); - sleep(1); //< @todo eliminate the need for this line - return 1; - } + _distren_asprintf(&query, "`distren`.`Frame_Get`( %d, @Job_Key, @Frame_Key) SELECT @Job_Key, @Frame_Key", + slavekey); + result = mysqlQuery(conn, query); + free(query); - *job = distrenjob_ptr; - *frame = &distrenjob_ptr->frameset[frame_counter]; -*/ + if(!result) + return 1; + + mysqlResultFree(result); + return 0; ->>>>>>> other }