UNPKG

node-deadline

Version:

Module to interface with Deadline Compute Management System by Thinkbox Software

91 lines (80 loc) 1.84 kB
var Err = require( "./Error" ); //enums for deadline states etc.. var enums = module.exports = { //job stats UNKNOWN: Math.pow( 2, 0 ), ACTIVE: Math.pow( 2, 1 ), SUSPENDED: Math.pow( 2, 2 ), COMPLETED: Math.pow( 2, 3 ), FAILED: Math.pow( 2, 4 ), PENDING: Math.pow( 2, 5 ), //on timeout BOTH: Math.pow( 2, 6 ), ERROR: Math.pow( 2, 7 ), NOTIFY: Math.pow( 2, 8 ), //on complete ARCHIVE: Math.pow( 2, 9 ), DELETE: Math.pow( 2, 10 ), NOTHING: Math.pow( 2, 11 ), //schedule type NONE: Math.pow( 2, 12 ), ONCE: Math.pow( 2, 13 ), DAILY: Math.pow( 2, 14 ), //slave stats //UNKNOWN RENDERING: Math.pow( 2, 15 ), IDLE: Math.pow( 2, 16 ), OFFLINE: Math.pow( 2, 17 ), STALLED: Math.pow( 2, 18 ), STARTING_JOB: Math.pow( 2, 19 ), //report types //ERROR LOG: Math.pow( 2, 20 ), REQUEUE: Math.pow( 2, 21 ), //task states //UNKNOWN //SUSPENDED //RENDERING //COMPLETED //FAILED //PENDING QUEUED: Math.pow( 2, 22 ) }; //map to deadline int enums.mapJobStateToDeadline = function( status ) { switch( status ) { case enums.UNKNOWN: return 0; case enums.ACTIVE: return 1; case enums.SUSPENDED: return 2; case enums.COMPLETED: return 3; case enums.FAILED: return 4; case enums.PENDING: return 6; default: throw new Err( Err.PARAM, "Unrecognized job status " + status ); } } //map from deadline int enums.mapJobStateFromDeadline = function( status ) { switch( status ) { case 0: return enums.UNKNOWN; case 1: return enums.ACTIVE; case 2: return enums.SUSPENDED; case 3: return enums.COMPLETED; case 4: return enums.FAILED; case 6: return enums.PENDING; default: throw new Err( Err.PARAM, "Unrecognized job status " + status ); } }