def __call__(self, *args, **kwargs): """Handle the call to a Bash app. Args: - Arbitrary Kwargs: - Arbitrary Returns: App_fut """ invocation_kwargs = {} invocation_kwargs.update(self.kwargs) invocation_kwargs.update(kwargs) if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel app_fut = dfk.submit(self.wrapped_remote_function, app_args=args, executors=self.executors, cache=self.cache, ignore_for_cache=self.ignore_for_cache, app_kwargs=invocation_kwargs) return app_fut
def get_data_manager(cls): """Return the DataManager of the currently loaded DataFlowKernel. """ from parsl.dataflow.dflow import DataFlowKernelLoader dfk = DataFlowKernelLoader.dfk() return dfk.executors['data_manager']
def __call__(self, *args, **kwargs): """This is where the call to a python app is handled. Args: - Arbitrary Kwargs: - Arbitrary Returns: App_fut """ if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel walltime = self.kwargs.get('walltime') if walltime is not None: self.func = timeout(self.func, walltime) app_fut = dfk.submit(self.func, *args, executors=self.executors, fn_hash=self.func_hash, cache=self.cache, **kwargs) return app_fut
def __call__(self, *args, **kwargs): """This is where the call to a python app is handled. Args: - Arbitrary Kwargs: - Arbitrary Returns: If outputs=[...] was a kwarg then: App_fut, [Data_Futures...] else: App_fut """ if self.executor is None: self.executor = DataFlowKernelLoader.dfk() app_fut = self.executor.submit(self.func, *args, parsl_sites=self.sites, fn_hash=self.fn_hash, cache=self.cache, **kwargs) # logger.debug("App[{}] assigned Task[{}]".format(self.func.__name__, # app_fut.tid)) out_futs = [DataFuture(app_fut, o, parent=app_fut, tid=app_fut.tid) for o in kwargs.get('outputs', [])] app_fut._outputs = out_futs return app_fut
def __call__(self, *args, **kwargs): """Handle the call to a Bash app. Args: - Arbitrary Kwargs: - Arbitrary Returns: App_fut """ invocation_kwargs = {} invocation_kwargs.update(self.kwargs) invocation_kwargs.update(kwargs) if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel app_fut = dfk.submit(wrap_error( update_wrapper(remote_side_bash_executor, self.func)), app_args=(self.func, *args), executors=self.executors, fn_hash=self.func_hash, cache=self.cache, app_kwargs=invocation_kwargs) return app_fut
def __call__(self, *args, **kwargs): """Handle the call to a Bash app. Args: - Arbitrary Kwargs: - Arbitrary Returns: If outputs=[...] was a kwarg then: App_fut, [Data_Futures...] else: App_fut """ # Update kwargs in the app definition with ones passed in at calltime self.kwargs.update(kwargs) if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel app_fut = dfk.submit(wrap_error(remote_side_bash_executor), self.func, *args, executors=self.executors, fn_hash=self.func_hash, cache=self.cache, **self.kwargs) out_futs = [DataFuture(app_fut, o, parent=app_fut, tid=app_fut.tid) for o in kwargs.get('outputs', [])] app_fut._outputs = out_futs return app_fut
def __call__(self, *args, **kwargs): """Handle the call to a Bash app. Args: - Arbitrary Kwargs: - Arbitrary Returns: App_fut """ # Update kwargs in the app definition with ones passed in at calltime self.kwargs.update(kwargs) if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel app_fut = dfk.submit(wrap_error( update_wrapper(remote_side_bash_executor, self.func)), self.func, *args, executors=self.executors, fn_hash=self.func_hash, cache=self.cache, **self.kwargs) return app_fut
def __call__(self, *args, **kwargs): """This is where the call to a python app is handled. Args: - Arbitrary Kwargs: - Arbitrary Returns: App_fut """ invocation_kwargs = {} invocation_kwargs.update(self.kwargs) invocation_kwargs.update(kwargs) if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel walltime = invocation_kwargs.get('walltime') if walltime is not None: func = timeout(self.func, walltime) else: func = self.func app_fut = dfk.submit(func, app_args=args, executors=self.executors, fn_hash=self.func_hash, cache=self.cache, ignore_for_cache=self.ignore_for_cache, app_kwargs=invocation_kwargs) return app_fut
def __call__(self, *args, **kwargs): """This is where the call to a python app is handled. Args: - Arbitrary Kwargs: - Arbitrary Returns: App_fut """ if self.data_flow_kernel is None: dfk = DataFlowKernelLoader.dfk() else: dfk = self.data_flow_kernel walltime = self.kwargs.get('walltime') if walltime is not None: self.func = timeout(self.func, walltime) app_fut = dfk.submit(self.func, *args, executors=self.executors, fn_hash=self.func_hash, cache=self.cache, **kwargs) # logger.debug("App[{}] assigned Task[{}]".format(self.func.__name__, # app_fut.tid)) out_futs = [DataFuture(app_fut, o, tid=app_fut.tid) for o in kwargs.get('outputs', [])] app_fut._outputs = out_futs return app_fut