def handle_process_error(self, exit_code, item): if item["current_is_torrent"] == True: # Torrent doesn't exist, so there's no point in trying to download other pages item.log_output("Got throttled on ID %s (or server died)" % item["current_id"]) retry_delay = self.retry_delay # fall through to retry else: retry_delay = self.retry_delay item["tries"] += 1 item.log_output("Process %s returned exit code %d for %s\n" % (self, exit_code, item.description())) item.log_error(self, exit_code) if (self.max_tries == None or item["tries"] < self.max_tries) and ( self.retry_on_exit_code == None or exit_code in self.retry_on_exit_code): item.log_output("Retrying %s for %s after %d seconds...\n" % (self, item.description(), retry_delay)) IOLoop.instance().add_timeout( datetime.timedelta(seconds=retry_delay), functools.partial(self.process_one, item)) else: item.log_output("Failed %s for %s\n" % (self, item.description())) item["logwriter"].close() self.fail_item(item)
def handle_process_error(self, exit_code, item): if item["current_is_torrent"] == True: # Torrent doesn't exist, so there's no point in trying to download other pages item.log_output("Got throttled on ID %s (or server died)" % item["current_id"]) retry_delay = self.retry_delay # fall through to retry else: retry_delay = self.retry_delay item["tries"] += 1 item.log_output("Process %s returned exit code %d for %s\n" % (self, exit_code, item.description())) item.log_error(self, exit_code) if (self.max_tries == None or item["tries"] < self.max_tries) and (self.retry_on_exit_code == None or exit_code in self.retry_on_exit_code): item.log_output("Retrying %s for %s after %d seconds...\n" % (self, item.description(), retry_delay)) IOLoop.instance().add_timeout(datetime.timedelta(seconds=retry_delay), functools.partial(self.process_one, item)) else: item.log_output("Failed %s for %s\n" % (self, item.description())) item["logwriter"].close() self.fail_item(item)
def handle_done(self, item): item.log_output("Finished %s for %s\n" % (self, item.description())) item["logwriter"].close() self.complete_item(item)