Пример #1
0
def mkdir_p(dir_path):
    """
    :param dir_path:
    :raise "Something wrong":
    """
    try:
        os.makedirs(dir_path)
        app_log.info("Dir created {}".format(dir_path))
    except OSError as exc:
        if exc.errno == errno.EEXIST and os.path.isdir(dir_path):
            pass
        else:
            app_log.error('Dir path have OSError: {}'.format(dir_path))
Пример #2
0
 def get_post(self, post_id, topic_id):
     post = self.cache.posts.get(post_id, None)
     self.cache.post_last_usage[post_id] = now()
     if post:
         raise tornado.gen.Return(post)
     else:
         app_log.info("Not in cache post: {}".format(post_id))
         key = build_key(topic_id, post_id)
         exist = yield Task(self.redis.exists, key)
         if exist:
             post = yield Task(self.redis.hgetall, key)
             app_log.debug("Key exist")
             raise tornado.gen.Return(post)
         else:
             raise tornado.gen.Return(None)
Пример #3
0
 def get_topic(self, topic_id):
     topic = self.cache.topics.get(topic_id, False)
     self.cache.topic_last_usage[topic_id] = now()
     if topic:
         result = yield [self.get_post(x, topic_id) for x in set(topic)]
         raise tornado.gen.Return(result)
     else:
         app_log.info("Not in cache topic: {}".format(topic_id))
         key = build_topcic_key(topic_id)
         exist = yield Task(self.redis.exists, key)
         if exist:
             result = []
             for x in set(topic):
                 x = yield self.get_post(int(x))
                 result.append(x)
             raise tornado.gen.Return(result)
         else:
             raise HTTPError(404)
Пример #4
0
    def save_to_redis(self):
        global delta
        app_log.info('Start cleanup')
        old = now() - delta
        for topic_id, date in self.cache.topic_last_usage.iteritems():
            if date < old:

                for post_id in self.cache.topics[topic_id]:
                    post = self.cache.posts[post_id]
                    key = build_key(topic_id, post_id)
                    yield Task(self.redis.hmset, key, post)
                    app_log.debug("Remove post {}".format(
                        self.cache.posts[post_id]))
                    del self.cache.posts[post_id]

                yield Task(self.redis.sadd, build_topcic_key(topic_id),
                           *self.cache.topics[topic_id])
                app_log.debug("Remove topic {}".format(
                    self.cache.topics[topic_id]))
                del self.cache.topics[topic_id]
        global last_cleanup
        last_cleanup = now()
        raise gen.Return(None)
Пример #5
0
def main():
    port = 8888
    app = make_app()
    app.listen(port)
    app_log.info('Application started on port {}'.format(port))
    IOLoop.current().start()
Пример #6
0
def main():
    port = 8888
    app = make_app()
    app.listen(port)
    app_log.info('Application started on port {}'.format(port))
    IOLoop.current().start()
Пример #7
0
    def __init__(self, *args, **kwargs):
        super(ThreadHandler, self).__init__(*args, **kwargs)

        if last_cleanup < (now() - delta):
            #  self.save_to_redis()
            app_log.info('Not wait clean up')