diff --git a/src/server/slave.c b/src/server/slave.c --- a/src/server/slave.c +++ b/src/server/slave.c @@ -34,33 +34,37 @@ int main(int argc, char *arvg[]) int slavestatus = 0; - if(no username in config file, no key present){ + if('no username in config file, no key present'){ fprintf(stderr "run distrend -c username] [emailaddr] to register") } - if(they use a -c flag according to getopt, with 2 args){ - register_user(username, email); which returns a uniquely random url to a key - get(uniquely-random-url-to-key); + if('they use a -c flag according to getopt, with 2 args'){ + *key = register_user(username, email); // register_user returns a uniquely random url to a key + get("http://protofusion.org/distren/key/%s",key); fprintf(stderr, "you registered, hopefully successfully. Invoke distrend with no args now."); } - if(username is in conf file and key is present){ + if('username is in conf file and key is present'){ loginuser(username); } - if(slave recieves "start frame#, job#"){ - get(http://distren.protofusion.org/srv/job#.tgz); - tar -xvf job#.tgz /tmp/distren/job#; somehow - exec_blender(job#.blend, job#.frame#.JPG, job#); (check the args, we'll need to adjust for different output formats)... set SLAVESTATUS=1 while rendering, SLAVESTATUS=2 when done + if('slave recieves "start frame#, job#"'){ + fprintf(stderr, "Got frame %d in job %d, preparing to render...",frame,job); + get('http://distren.protofusion.org/srv/job#.tgz'); + exec('tar -xvf job#.tgz /tmp/distren/job#'); // somehow + exec_blender(jobname.blendfile, jobnum.framenum.JPG, jobnum); // (check the args, we'll need to adjust for different output formats)... set SLAVESTATUS=1 while rendering, SLAVESTATUS=2 when done } if(SLAVESTATUS==2){ - tell the server "done with frame# in job#"; - SLAVESTATUS=0 + tell_the_server("Completed"); + fprintf(stderr, "Finished frame %d in job %d",framenum,jobnum); + SLAVESTATUS=0; } if(SLAVESTATUS==0){ - tell the server "i ain't got no frames to render"; + tell_the_server("Idle"); + fprintf(stderr, "Idle. No frames to render."); } while(SLAVESTATUS==1){ - tell the server "rendering this friggn frame"; - delay(1000); + tell_the_server("Rendering"); + fprintf(stderr, "Rendering frame %d in job %d...",framenum,jobnum); + delay(1000); // or not... this should be more event-driven, but should still give a heartbeat to the server } return 0;