def report_nodes_not_run(notrun):
 if notrun:
  logger.info(u'***********************************')
  for info in notrun:
   logger.error((u'could not run node: %s' % u'.'.join((info[u'node']._hierarchy, info[u'node']._id))))
   logger.info((u'crashfile: %s' % info[u'crashfile']))
   logger.debug(u'The following dependent nodes were not run')
   for subnode in info[u'dependents']:
    logger.debug(subnode._id)
  logger.info(u'***********************************')
  raise RuntimeError(u'Workflow did not execute cleanly. Check log for details')

def report_nodes_not_run ( notrun ) : if notrun : logger . info ( u'***********************************' ) for info in notrun : logger . error ( ( u'could not run node: %s' % u'.' . join ( ( info [ u'node' ] . _hierarchy , info [ u'node' ] . _id ) ) ) ) logger . info ( ( u'crashfile: %s' % info [ u'crashfile' ] ) ) logger . debug ( u'The following dependent nodes were not run' ) for subnode in info [ u'dependents' ] : logger . debug ( subnode . _id ) logger . info ( u'***********************************' ) raise RuntimeError ( u'Workflow did not execute cleanly. Check log for details' )
list nodes that crashed with crashfile info optionally displays dependent nodes that werent executed as a result of the crash .