void onResourceLaunchRequest ( final ResourceLaunchEvent launchRequest ) { synchronized ( this . theContainers ) { final Container c = this . theContainers . get ( launchRequest . getIdentifier ( ) ) ; try ( final LoggingScope lb = this . loggingScopeFactory . getNewLoggingScope ( "ResourceManager.onResourceLaunchRequest:evaluatorConfigurationFile" ) ) { // Add the global files and libraries. c . addGlobalFiles ( this . fileNames . getGlobalFolder ( ) ) ; c . addLocalFiles ( getLocalFiles ( launchRequest ) ) ; // Make the configuration file of the evaluator. final File evaluatorConfigurationFile = new File ( c . getFolder ( ) , fileNames . getEvaluatorConfigurationPath ( ) ) ; try { this . configurationSerializer . toFile ( launchRequest . getEvaluatorConf ( ) , evaluatorConfigurationFile ) ; } catch ( final IOException | BindException e ) { throw new RuntimeException ( "Unable to write configuration." , e ) ; } } try ( final LoggingScope lc = this . loggingScopeFactory . getNewLoggingScope ( "ResourceManager.onResourceLaunchRequest:runCommand" ) ) { final List < String > command = getLaunchCommand ( launchRequest , c . getMemory ( ) ) ; LOG . log ( Level . FINEST , "Launching container: {0}" , c ) ; c . run ( command ) ; } } }
Processes a resource launch request .