self.item.update_time = time.time() self.item.save() self.deferred.callback(self.out_file) def handle_error(self, result): self.deferred.errback(Failure(Exception(result.getErrorMessage()))) def execute(self, output_variant_name, output_type, **params): # get basic data (avoid creating stuff in DB) try: self.get_cmdline(output_variant_name, output_type, **params) output_variant = Variant.objects.get(name=output_variant_name) self.out_comp = self.item.create_variant(output_variant, self.workspace, self.out_type) self.out_comp.source = self.source args = splitstring(self.cmdline) except Exception, e: log.error('Error in %s: %s %s' % (self.__class__.__name__, type(e), str(e))) self.deferred.errback(e) else: if self.fake: log.debug('######### Command line:\n%s' % str(args)) else: proxy = Proxy(self.md_server) d = proxy.call(self.remote_exe, args, self.env) d.addCallbacks(self.handle_result, self.handle_error) return self.deferred # if executed stand alone
def handle_result(self, result, *args): #log.debug('= handle_result %s' % str(result)[:128]) try: return_value = self.parse_stdout(result['data'], *args) self.deferred.callback(return_value) except Exception, e: log.error('Error in %s: %s %s' % (self.__class__.__name__, type(e), str(e))) self.deferred.errback(e) def handle_error(self, result): self.deferred.errback(Failure(Exception(result.getErrorMessage()))) def execute(self, **params): # get basic data (avoid creating stuff in DB) try: self.get_cmdline(**params) args = splitstring(self.cmdline) except Exception, e: log.error('Error in %s: %s %s' % (self.__class__.__name__, type(e), str(e))) self.deferred.errback(e) else: if self.fake: log.debug('######### Command line:\n%s' % str(args)) else: proxy = Proxy(self.md_server) d = proxy.call(self.remote_exe, args, self.env) d.addCallbacks(self.handle_result, self.handle_error, callbackArgs=self.cb_args) return self.deferred # if executed stand alone