The Generic Submit Script


Installing The Generic Submit Script

    Before using the Submit Generic script, you should first install it by making a copy of the script on your file server, so that this copy is accessible by all the machines on your network. This is usually done by your sysadmin, or the person who set up the rush software.

  1. Install the script on the file server.
  2. This should have already been set up by your sysadmin, or the person who installed the rush software:

  3. Make a desktop shortcut to the submit script.
  4. Be sure the shortcut points to a copy on a file server, and not to local files in c:\rush\examples (windows) or /usr/local/rush/examples (unix).

  5. Invoke the submit script.
  6. Should be as simple as clicking on your desktop shortcut.

    If you prefer using a terminal window, be sure to run the script with an absolute UNC path, eg:

    	    perl //yourserver/jobs/rushscripts/perl/
    If you don't run it with an absolute path, the frames will fail because rush didn't have the absolute path to the submit script.

  7. Verify the interface comes up.
  8. The interface should pop up. If it doesn't, verify (unix) the first line in the script's path points to the correct location of your perl binary, or (windows) the '.pl' extension is configured to correctly invoke perl.

    Click the help button (buttons with '?') for any field you want to know more about.

    When the GUI pops up, note there are various 'Advanced Options' available if you scroll the window down.

Using Submit-Generic

    The generic submit script can be used to submit any command line oriented program to the network. This includes invoking custom programs you or someone at your company has written, scripts, or 3rd party tools that don't have pre-made submit scripts.

    For instance, see the Renderman example below for how to use to invoke Renderman to render RIB files.

    It is assumed you are able to bring up the submit script from a desktop shortcut (which you can make by following these instructions for Mac OSX, Windows, or Linux)

  1. Select the 'Shell' you want to use.
  2. In this example, choose 'perl'.

  3. Enter the shell commands to execute.
  4. These are the commands you want to have executed for each frame on all the machines, and will be run in the 'Shell' you selected above.
    Since we've selected 'perl', enter some perl commands you know will work on both unix and Windows platforms:

    	    print "Working on frame $ENV{RUSH_FRAME}\n";
    	    system("netstat -an");
    Note: If your commands assume you to be in a particular directory, you better include a chdir command to the full absolute path.
    As with all render scripts, you should return a proper exit code; 0=Done, 1=Fail, 2=Retry.

  5. Enter the cpus to use.
  6. In our case, lets use any 5 available cpus at the lowest priority:


  7. Set the directory where logs should be written.
  8. Scroll down to 'Log Directory', and set the absolute path to a network directory which all machines can access.
    In place of the following example, use an absolute path that is relevant to your network.


  9. Submit the job by clicking the 'Submit' button.
  10. The job should submit, and an irush interface should pop up with the jobid already set.

    The next time you bring up the submit form, it will have all the values set from the last execution. Note that you can then save this as a form so you can easily recall it later.

    For more info on the irush interface, see the irush tutorial.

  11. Monitor the job.
  12. Hit 'Frames' in irush to watch the progress of your job.
    If some frames are running, or got done already, click on some, and hit 'Logs' to see the output of the perl commands you entered.

  13. Dump the job when you're done
  14. When you're finished with the job, hit 'Dump' in irush.

Example: Rendering RIB Files

This shows the 'advanced options' of the generic submit form.
Just scroll down or resize the submit window to access them.