예제 #1
0
    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)
예제 #2
0
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'])
예제 #3
0
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)