예제 #1
0
    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)
예제 #2
0
	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)
예제 #3
0
	def handle_done(self, item):
		item.log_output("Finished %s for %s\n" % (self, item.description()))
		item["logwriter"].close()
		self.complete_item(item)
예제 #4
0
 def handle_done(self, item):
     item.log_output("Finished %s for %s\n" % (self, item.description()))
     item["logwriter"].close()
     self.complete_item(item)