def run(self): logger = logging.getLogger("import") while True: game = self.queue.get() try: ranks = [get_rank_info(club, ignore_time=True) for club in [game.club_1, game.club_2]] game.update_rank_info(ranks, self.session) logger.info("game processed") except Exception as e: logger.exception(e) self.session.rollback() self.session.commit() self.session.close() self.queue.task_done()
def run(self): while True: day = self.queue.get() try: logger = logging.getLogger('import') try: dt = datetime.datetime.fromtimestamp(earliest_timestamp) + datetime.timedelta(days=day, hours=1) if dt > datetime.datetime.now(): # gone past today logger.info('Datetime greater than now, breaking') break dt_stamp = str(time.mktime(dt.timetuple()))[:-2] # trim '.0' from end timeshifted_url = 'http://www.easportsworld.com/en_US/clubs/partial/401A0001/%s/match-results?timestamp=%s' % (str(self.club_id), dt_stamp) games_list = get_games_list(timeshifted_url) for game in games_list: process_game(game, dt_stamp, self.session) except Exception as e: logger.exception(e) except Exception as e: print('Job failed for %d', day) self.session.commit() self.session.close() self.queue.task_done() self.processed_count += 1