//--------------------------------------------------------------------------- void DagmanClassad::Update( int total, int done, int pre, int submitted, int post, int ready, int failed, int unready, Dag::dag_status dagStatus, bool recovery ) { if ( !_valid ) { debug_printf( DEBUG_VERBOSE, "Skipping ClassAd update -- DagmanClassad object is invalid\n" ); return; } Qmgr_connection *queue = OpenConnection(); if ( !queue ) { return; } SetDagAttribute( ATTR_DAG_NODES_TOTAL, total ); SetDagAttribute( ATTR_DAG_NODES_DONE, done ); SetDagAttribute( ATTR_DAG_NODES_PRERUN, pre ); SetDagAttribute( ATTR_DAG_NODES_QUEUED, submitted ); SetDagAttribute( ATTR_DAG_NODES_POSTRUN, post ); SetDagAttribute( ATTR_DAG_NODES_READY, ready ); SetDagAttribute( ATTR_DAG_NODES_FAILED, failed ); SetDagAttribute( ATTR_DAG_NODES_UNREADY, unready ); SetDagAttribute( ATTR_DAG_STATUS, (int)dagStatus ); SetDagAttribute( ATTR_DAG_IN_RECOVERY, recovery ); CloseConnection( queue ); }
//--------------------------------------------------------------------------- void DagmanClassad::GetSetBatchName( const MyString &primaryDagFile, MyString &batchName ) { if ( !_valid ) { debug_printf( DEBUG_VERBOSE, "Skipping ClassAd query -- DagmanClassad object is invalid\n" ); return; } Qmgr_connection *queue = OpenConnection(); if ( !queue ) { return; } if ( !GetDagAttribute( ATTR_JOB_BATCH_NAME, batchName, false ) ) { // Default batch name is top-level DAG's primary // DAG file (base name only). batchName = condor_basename( primaryDagFile.Value() ); batchName += "+"; batchName += IntToStr( _dagmanId._cluster ); SetDagAttribute( ATTR_JOB_BATCH_NAME, batchName ); } CloseConnection( queue ); debug_printf( DEBUG_VERBOSE, "Workflow batch-name: <%s>\n", batchName.Value() ); }