Accessing Alfred Jobs via the Web


In this document:


Introduction

Alfred has the built-in ability to function as a limited HTTP server which can generate current job status in HTML format. Users can retrieve this information remotely using a standard web browser such as Netscape.

The maitre-d functions as the Alfred "homepage" and so there must be an Alfred running in -maitre_d mode for the HTTP interface to work.

It is important to understand that this mode is a stand-alone feature of Alfred. There is no requirement to install scripts or links into your site's standard HTTP server directories. Alfred listens for HTTP connections on a specific TCP port and responds directly to the requesting browser.

Since there is support for previewing rendered frames, which involves a limited form of file transfer, it is also important to review the security settings in the alfred.ini file.

Configuring for HTTP Access

The alfred.ini file defines the host and TCP port used by the maitre-d. For example, if the file is modified to have these settings:
	set alfConfig(maitredHost) {snappy.busy.com}
	set alfConfig(maitredPort) 9000
	set alfConfig(allowHTTP) 1
then the URL for the maitre-d homepage would be http://snappy.busy.com:9000 (assuming that a maitre-d is running on snappy).

A more general approach, which also supports fall-back maitre-ds, is to install the provided maitre-d.cgi script, which can automatically redirect users to the appropriate maitre-d and TCP port. Note that this option does require integration with the site's standard HTTP server. After the script has been installed, the Alfred URL would be:

http://snappy.busy.com/cgi-bin/maitre_d.cgi This cgi script approach is preferable, although it may be impractical at many sites since superuser permissions are required to install the script into the site HTTP server.

Connecting to the Maitre-d

When a browser connects to the maitre-d it will be given a list of the currently active dispatchers from around the network. By clicking on the link for a particular dispatcher, the user can get a list of the jobs in that dispatcher's queue.

Note that access to each dispatcher is password protected. Individual users must enable access to their dispatcher using the Session->Preferences->Web Access properties dialog from the regular Alfred monitor.

In order to support the broadest range of web browsers, Alfred uses a fairly simple format for its status information. It does make use of HTML tables for structured layout, and HTML forms for a few situations in which user input is required. See the limitations section for more details on browser requirements.

A few example status pages are included below to illustrate the interface.


Note: the following examples are not fully functional since there is no running Alfred to act as a status server.In particular, the links which would normally query Alfred for new information only point to other illustrations within this document. 

 All Dispatchers on the Network

Current Alfred Dispatchers
Wed, 08 Apr 1998 13:45:10
About Alfred

Jobs
Dispatchers
-----------
Waiting
-------
Active
------
Done
-----
dana@drizzle 0 1 2
david@grotto 2 1 0
ned@area51 0 1 0 Errors
bones@lluvia 0 0 3

Jobs on a Specific Dispatcher

Current Jobs [Server Status][Huntgroup]
david@grotto.rainsound.com [Cmd History][Pause All]
Wed, 08 Apr 1998 13:45:12 [dispatcher list]

 [Active]  preview (mtor job)  [13:21:32 Wed 08 Apr]   00:12:53 / 01:31:05
  Queued:  scene.7-shot.3  [13:24:07 Wed 08 Apr]   (queued)
  Queued:  scene.7-shot.4a  [13:24:13 Wed 08 Apr]   (queued)

Clicking on the job title will cause Alfred to generate an HTML version of the detailed task tree for entire job. Alternatively, if a job is active, the word Active will also be highlighted as a link, clicking it will put the dispatcher into a special mode in which it constantly generates status updates limited to the active portions of the job tree.

 The Task Hierarchy

Alfred Job Status 00:12:53 / 01:31:05 errors: no
preview (mtor job) output: yes

[full] [job queue] [huntgroup] job: [pause][delete]
[active] [dispatchers] [server status] refresh: [slower][faster]

  • Expand.JobPreflight __ Done
    • JobPreflight __ Done
      • Textures __ Done
  • Expand.0000 __ Blocked
    • @Expand.JobPreflight __ Done
    • Frame.0000 __ Active - 6% - alembic
      • FramePreflight.0000 __ Done
        • Textures.0000 __ Done
        • Shadows.0000 __ Done
          • directionalLightShape1.shd.0000 __ Done
            • @JobPreflight __ Done
            • @Textures.0000 __ Done
  • Expand.0001 __ Blocked
    • @Expand.JobPreflight __ Done
    • Frame.0001 _i_ Active - 15% - animus
      • FramePreflight.0001 __ Done
        • Textures.0001 __ Done
        • Shadows.0001 __ Done
          • directionalLightShape1.shd.0001 _i_ Done
            • @JobPreflight __ Done
            • @Textures.0001 __ Done
  • Expand.0002 __ Blocked
    • @Expand.JobPreflight __ Done
    • Frame.0002 _i_ Active - 55% - grotto
      • FramePreflight.0002 __ Done
        • Textures.0002 __ Done
        • Shadows.0002 __ Done
          • directionalLightShape1.shd.0002 _i_ Done
            • @JobPreflight __ Done
            • @Textures.0002 __ Done
  • Expand.0003 __ Blocked
    • @Expand.JobPreflight __ Done
    • Frame.0003 _i_ Active - 18% - cerberus
      • FramePreflight.0003 __ Done
        • Textures.0003 __ Done
        • Shadows.0003 __ Done
          • directionalLightShape1.shd.0003 _i_ Done
            • @JobPreflight __ Done
            • @Textures.0003 __ Done
  • Expand.0004 __ Blocked
    • @Expand.JobPreflight __ Done
    • Frame.0004 __ Blocked
      • FramePreflight.0004 __ Blocked
        • Textures.0004 __ Done
        • Shadows.0004 __ Blocked
          • directionalLightShape1.shd.0004 __ Ready
            • @JobPreflight __ Done
            • @Textures.0004 __ Done
  • Expand.0005 __ Blocked
    • @Expand.JobPreflight __ Done
    • Frame.0005 __ Blocked
      • FramePreflight.0005 __ Blocked
        • Textures.0005 __ Done
        • Shadows.0005 __ Blocked
          • directionalLightShape1.shd.0005 __ Ready
            • @JobPreflight __ Done
            • @Textures.0005 __ Done

In this job status view, clicking on the short "___" link between the task title and its status brings up a page showing the current task "guts" and any task output logs. A link formatted as "_i_" indicates that there has been output.

Finished frames can be downloaded to the browser (for preview, etc). If there are frames available they will be indicated by "[image]" links in the job status listing (above). To enable this feature the httpImgRoot parameter in the alfred.ini file must be set and the job script must specify a special chaser command for the final frame tasks.

 

Details of a Particular Task

Frame.0003 Active [restart][skip]

Command Internals

Commands:
 [Active]: netrender -f -Progress %H rib/preview.0003.rib
   [keys]: pixarNrm
   [tags]: prman
  [hosts]: cerberus
  [start]: Wed Apr 08 13:37:42 1998
    [end]: (still active, pid=18150)

Clean-up:
   (none)

Chaser Cmd:
   sho rmanpix/preview.0003.tif

Command Output

S01001 cannot load shader "alien-marble".  (WARNING)


 


  


Wrangler Mode

Sometimes it can be useful for an alfred "superuser" to have access to every user's active job queue. This mode can be useful as a simple mechanism for periodically monitoring all of the active alfred jobs; and it can be especially useful to the "render wranglers" of the world who need to make sure that jobs get done, even after the artists who submit them go home for the day.

See the configuration discussion for details on enabling wrangler mode at your site.

To enter wrangler mode:

 

Limitations of the Web Interface


 

Pixar Animation Studios
(510) 752-3000 (voice)   (510) 752-3151 (fax)
Copyright © 1996- Pixar. All rights reserved.
RenderMan® is a registered trademark of Pixar.