def get(self): if self.request.get('ticknum'): ticknum = int(self.request.get('ticknum')) else: ticknum = datetime.datetime.utcnow().minute tick = Tick.gql("WHERE pos = :1", ticknum).get() if not tick: return for acct in account.Account.get(tick.accts): if not acct or not acct.owner.email(): # nothing we can do continue (training, qEnd) = acct.check_queue() if not qEnd: # too late continue qlen = qEnd - datetime.datetime.utcnow() hours = qlen.seconds // (60*60) if qlen.days == 0 and MESSAGES[hours]: mail.send_mail(sender=SENDER, to=acct.owner.email(), subject="Skill Queue for %s" % training.name, body=MESSAGES[hours] % timeDiffToStr(qlen.seconds)) else: logging.info("Hourly check for acct %d (%s is training at least %d days)" % ( acct.ID, training.name, qlen.days))