Changeset - e8abe91d635f
[Not reviewed]
default
0 3 0
Ethan Zonca (ethanzonca) - 15 years ago 2010-06-26 01:30:23
e@ethanzonca.com
Backported tar to standard slave
3 files changed with 5 insertions and 5 deletions:
0 comments (0 inline, 0 general)
TODO
Show inline comments
 
@@ -33,23 +33,24 @@ Master
 
  x-resolve conflict between liblist and libmysqlclient
 
  x-update frame assigner to distribute some frames for lower-priority jobs when there's a higher priority job (Ask LordOfWar if this is implemented in sprocs already(it is))
 

	
 

	
 
Slave
 
  B-UnpackJob() and supporting functions need to work
 
  E-Restore tar functionality after unpackJob() is functional
 
  E-Add calls to remoteio, once it works or even before it works -> write message API functions and API
 
  =-Make code more flexible for different types of jobs and operating systems (such as paths, libs, etc)
 
  =-Add code to allow pausing/resuming of the slave (including a running blender process) -> signal handling (SIGTSTP vs. SIGSTOP), distrenslave_control cmdline interface
 
  B-Add tmpdir variable (just like the datadir variable) that is compile-time or whatever -> simple API to allow configuration-file override while taking into account defaults set by ./configure
 
  E-Add error checking and cleaner recursive deletion to delete_jobdata
 
  =-Upload finished frames' output files while rendering subsequent frames
 

	
 
  x=Add lockout of slaves below a certain version
 
  x-Add simpleslave with code to work around nonexisting server codebase
 
  x-Backport SimpleSlave functionality to slave code
 
  x-Restore tar functionality after unpackJob() is functional (6/26/10: unpackJob isn't functional, but tar re-implemented)
 

	
 

	
 

	
 
Options
 
  B-Push patch for relative includes in confuse to the confuse developers -- windows/mingw32 testing required first
 
  ?-Expand execio() to support stderr
 
  =-Rewrite some stuff, try to make it simpler
src/server/simpleslave.c
Show inline comments
 
@@ -215,13 +215,13 @@ int main(int argc, char *argv[])
 
          if(DEBUG)
 
            //fprintf(stderr,"Using existing uncompressed data %s...\n", pathtoJobfile);
 
            fprintf(stderr,"Using existing tarball %s...\n", pathtoTar);
 

	
 
        // Check if tar exists already
 
        struct stat jbuffer;
 
        int jstatus = stat(pathtoJobfile, &jbuffer);
 
        int jstatus = stat(pathtoTar, &jbuffer);
 
        if(jstatus == -1){
 
          fprintf(stderr,"Main job file does not exist, extracting...\n");
 

	
 
          // If error unpacking tarball
 
          if(unpackJob(pathtoJob, pathtoTar)){
 
            _web_resetframe(slavekey, password, jobnum, framenum);  // Unassign the frame on the server so other slaves can render it
src/server/slave.c
Show inline comments
 
@@ -160,14 +160,13 @@ int main(int argc, char *argv[])
 

	
 
  char *urltoOutput;   /* Full URL where output is posted */
 
  char *pathtoOutput;  /* Full path to the output (rendered) file */
 
  char *pathtoOutdir;  /* Full path to output directory */
 
  char *pathtoRenderOutput;  /* Contains blender framenum placeholder */
 

	
 
  // Temporary for uncomressed testing @TODO: remove
 
  char *urltoJobfile;
 
  char *urltoJobfile; /* No longer used, url to .blend on server */
 

	
 
  char *pathtoJob;     /* Full path to job data folder */
 
  char *pathtoJobfile; /* Full path to the job's main file */
 
  char *outputExt = "jpg";     /* Output Extension (e.g., JPG) */
 

	
 
  int haveWork = 0;
 
@@ -232,13 +231,13 @@ int main(int argc, char *argv[])
 
        else
 
          if(DEBUG)
 
            fprintf(stderr,"Using existing tarball %s...\n", pathtoTar);
 

	
 
        // Decompress tarball
 
        struct stat jbuffer;
 
        int jstatus = stat(pathtoJobfile, &jbuffer);
 
        int jstatus = stat(pathtoTar, &jbuffer);
 
        if(jstatus == -1){
 
          if(DEBUG)
 
            fprintf(stderr,"Main job file does not exist, extracting...\n");
 

	
 
          // If error unpacking tarball
 
          if(unpackJob(pathtoJob, pathtoTar)){
0 comments (0 inline, 0 general)