def on_status(self, status): if status.in_reply_to_screen_name == self.username: status.text = status.text[len(self.username)+1:].strip() logger.debug("Got tweet '%s' from '%s'" % (status.text, status.author.screen_name)) response = self._generator.response(status.author.screen_name, status.text, status.id) for r in response: self.tweet(r)
def data_receiver(frontend): r = redis.Redis() ps = r.pubsub() ps.subscribe('reminders') logger.debug("Data receiver thread started") while True: for m in ps.listen(): frontend.tweet(m['data'])
def run(): logger.debug("Scheduler thread started") while True: now = datetime.now() ts = int(time.mktime(now.timetuple())) jobs = r.zrangebyscore("jobs", "-inf", ts) if len(jobs): for job in jobs: Job.from_config_key(r, job).execute(r) r.zrem("jobs", job) logger.debug("Executed %d jobs" % len(jobs)) time.sleep(1)