Icon

This is the documentation for an older version of Qube. The latest version of the documentation can be found here: Qube

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Note

This jobtype was added in Qube v6.4-2.

This jobtype requires Python to be installed on the executing worker.

What are they, and what do they do?

These jobs differ from the standard SimpleCmd cmdline- and cmdrange-based jobs in that they will "find" a particular version of a 3rd-party application on the worker when the job runs.  This has several benefits:

  • the submitting user is not required to know that application's installation path on the remote worker.
  • since the application does not include a hard-coded path to the 3rd-party application, the job is able to run across machines of differing operating systems at the same time.
Warning

The appFinder jobs do not perform a "best match" for version number; if AfterEffects CS5.5 is specified, it will not use CS6 if CS5.5 is not installed.  A warning message will appear in the job logs, and the job instance will be restarted on another worker.

Applications currently supported as AppFinder jobs in WranglerView:

  1. AfterEffects (all versions)
  2. Cinema4D (R14 and later)
  3. Maya BatchRender

How do they work? (internal details for developers)

When the job is submitted, the command line contains a "application template" that looks like like __XYZ__  The The XYZ portion  portion between the double-underscores specifies which application to run.  Currently,the following applications application templates are supported, being specified in the API library file $QBDIR/api/python/qb/backend/appDefaultPaths.py

  • AE
  • C4D
  • NUKE
  • MAYA
  • XSI

The job's package dictionary  dictionary will contain an an appVersion value  python tuple value which specifies what version of that application to search for.  So if the command-line contains an __AE__ application template, and the package's appVersion is the tuple (6,), then AfterEffects CS6 will be used on the worker.  To specify CS5.5, the appVersion would be set to (5,5).

The jobtype backend code on the worker will examine the job's command-line and appVersion values, and check and see if a suitable application can be found on the worker.  Only the 3rd-party software developer's default installation paths for a given application are scanned.  See the section section Supporting non-default installation paths with AppFinder if  if your studio installs applications in non-standard locations.

If a suitable application installlation is found on the worker, the application template in the command-line is replaced with the path to the application's executable.  Something like the following should appear in the jobs' STDERR logs logs:

On an OS X worker:

INFO:CmdRangeBackEnd: attempting auto-pathing
INFO:CmdRangeBackEnd: Paths in the command have been translated as per this worker's worker_path_map
INFO:CmdRangeBackEnd: __C4D__ -nogui -frame 67 67 1 -render "/Users/jburk/Documents/C4D/test.c4d"
INFO:CmdRangeBackEnd: -> "/Applications/MAXON/CINEMA 4D R14/CINEMA 4D.app/Contents/MacOS/CINEMA 4D" -nogui -frame 67 67 1 -render "/Users/jburk/Documents/C4D/test.c4d"

...

INFO:CmdRangeBackEnd: attempting auto-pathing
INFO:CmdRangeBackEnd: Paths in the command have been translated as per this worker's worker_path_map
INFO:CmdRangeBackEnd: __C4D__ -nogui -frame 3 3 1 -oimage "/Users/jburk/Documents/C4D/renders/test" -render "/Users/jburk/Documents/C4D/test_R14.c4d"
INFO:CmdRangeBackEnd: -> "C:\Program Files\MAXON\CINEMA 4D R14\CINEMA 4D 64 Bit.exe" -nogui -frame 3 3 1 -oimage "Z:/Documents/C4D/renders/test" -render "Z:/Documents/C4D/test_R14.c4d"

Applications currently supported in WranglerView:

  1. AfterEffects (all versions)
  2. Cinema4D (R14 and later)

Anchor
Non_Default_Install_Paths
Non_Default_Install_Paths
Supporting non-default installation paths with AppFinder

If your studio does not install 3rd-party applications into standard locations, there are 2 approaches you can take:

...

For example, to implement approach 2 for a non-default installation of AfterEffects CS6, you could decide to use an application template of of __AE6__.  Then, define this value in the worker's worker_path_map value  value (which can be managed via the central worker configuration file file qbwork.conf).

Windows example:

worker_path_map = { 
    "/Users/jburk" = "Z:"
    "/Users/jburk/test" = "Y:"
    "/tmp" = "C:/temp",
    "__AE6__" = "D:/Programs/AfterEffects/CS6/aerender.exe"
}

OS X worker example:

worker_path_map = { 
    "Z:" = "/Users/jburk"
    "Y:" = "/Users/jburk/test"
    "C:/temp" = "/tmp"
    "__AE6__" = "/Volumes/HD2/3rd Party Apps/Adobe/AfterEffects/CS6/aerender.exe"
}