def _run_plugin_list(self): """ Create an experiment and run the plugin list. """ self.exp._setup(self) plugin_list = self.exp.meta_data.plugin_list logging.info('Running the plugin list check') self._run_plugin_list_setup(plugin_list) exp_coll = self.exp._get_collection() n_plugins = plugin_list._get_n_processing_plugins() # ********* transport function *********** logging.info('Running transport_pre_plugin_list_run()') self._transport_pre_plugin_list_run() cp = self.exp.checkpoint checkpoint_plugin = cp.get_checkpoint_plugin() for i in range(checkpoint_plugin, n_plugins): self.exp._set_experiment_for_current_plugin(i) memory_before = cu.get_memory_usage_linux() plugin_name = self.__run_plugin(exp_coll['plugin_dict'][i]) self.exp._barrier(msg='PluginRunner: plugin complete.') memory_after = cu.get_memory_usage_linux() logging.debug( "{} memory usage before: {} MB, after: {} MB, change: {} MB". format(plugin_name, memory_before, memory_after, memory_after - memory_before)) # ********* transport functions *********** # end the plugin run if savu has been killed if self._transport_kill_signal(): self._transport_cleanup(i + 1) break self.exp._barrier(msg='PluginRunner: No kill signal... continue.') cp.output_plugin_checkpoint() # ********* transport function *********** logging.info('Running transport_post_plugin_list_run') self._transport_post_plugin_list_run() # terminate any remaining datasets for data in list(self.exp.index['in_data'].values()): self._transport_terminate_dataset(data) self.__output_final_message() if self.exp.meta_data.get('email'): cu.send_email(self.exp.meta_data.get('email')) return self.exp
def _run_plugin_list(self): """ Create an experiment and run the plugin list. """ self.exp._set_nxs_file() plugin_list = self.exp.meta_data.plugin_list logging.info('Running the plugin list check') self._run_plugin_list_check(plugin_list) logging.info('Setting up the experiment') self.exp._experiment_setup(self) exp_coll = self.exp._get_experiment_collection() n_plugins = plugin_list._get_n_processing_plugins() # ********* transport function *********** logging.info('Running transport_pre_plugin_list_run()') self._transport_pre_plugin_list_run() cp = self.exp.checkpoint for i in range(cp.get_checkpoint_plugin(), n_plugins): self.exp._set_experiment_for_current_plugin(i) self.__run_plugin(exp_coll['plugin_dict'][i]) # end the plugin run if savu has been killed self.exp._barrier(msg='PluginRunner: plugin complete.') # ********* transport functions *********** if self._transport_kill_signal(): self._transport_cleanup(i+1) break self.exp._barrier(msg='PluginRunner: No kill signal... continue.') cp.output_plugin_checkpoint() # ********* transport function *********** logging.info('Running transport_post_plugin_list_run') self._transport_post_plugin_list_run() # terminate any remaining datasets for data in self.exp.index['in_data'].values(): self._transport_terminate_dataset(data) self.__output_final_message() if self.exp.meta_data.get('email'): cu.send_email(self.exp.meta_data.get('email')) return self.exp
def _run_plugin_list(self): """ Create an experiment and run the plugin list. """ plugin_list = self.exp.meta_data.plugin_list logging.info('Running the plugin list check') self._run_plugin_list_check(plugin_list) logging.info('Setting up the experiment') self.exp._experiment_setup(self) exp_coll = self.exp._get_experiment_collection() n_plugins = plugin_list._get_n_processing_plugins() # ********* transport function *********** logging.info('Running transport_pre_plugin_list_run()') self._transport_pre_plugin_list_run() cp = self.exp.checkpoint for i in range(cp.get_checkpoint_plugin(), n_plugins): self.exp._set_experiment_for_current_plugin(i) self.__run_plugin(exp_coll['plugin_dict'][i]) # end the plugin run if savu has been killed self.exp._barrier(msg='PluginRunner: plugin complete.') # ********* transport functions *********** if self._transport_kill_signal(): self._transport_cleanup(i+1) break self.exp._barrier(msg='PluginRunner: No kill signal... continue.') cp.output_plugin_checkpoint() # ********* transport function *********** logging.info('Running transport_post_plugin_list_run') self._transport_post_plugin_list_run() # terminate any remaining datasets for data in self.exp.index['in_data'].values(): self._transport_terminate_dataset(data) self.__output_final_message() if self.exp.meta_data.get('email'): cu.send_email(self.exp.meta_data.get('email')) return self.exp
def _run_plugin_list(self): """ Create an experiment and run the plugin list. """ plugin_list = self.exp.meta_data.plugin_list logging.info('Running the plugin list check') self._run_plugin_list_check(plugin_list) logging.info('Setting up the experiment') self.exp._experiment_setup() exp_coll = self.exp._get_experiment_collection() n_plugins = plugin_list._get_n_processing_plugins() # ********* transport function *********** logging.info('Running transport_pre_plugin_list_run()') self._transport_pre_plugin_list_run() for i in range(n_plugins): self.exp._set_experiment_for_current_plugin(i) self.__run_plugin(exp_coll['plugin_dict'][i]) # ********* transport function *********** logging.info('Running transport_post_plugin_list_run') self._transport_post_plugin_list_run() # terminate any remaining datasets for data in self.exp.index['in_data'].values(): self._transport_terminate_dataset(data) cu.user_message("***********************") cu.user_message("* Processing Complete *") cu.user_message("***********************") logging.info('Processing complete') if self.exp.meta_data.get('email'): cu.send_email(self.exp.meta_data.get('email')) return self.exp