[컴][파이썬] 간단한 토네이도 (Tornado) 예제




Tornado 설치

Tornado Web Server — Tornado 4.3 documentation

pip install tornado



Prerequisites


ref. 1 의 Prerequisites 을 살펴보자. 여기선 필자가 필요한 부분만 설명할 것이다.

파이썬2 에서는 version 2.7.9 이상의 버전이 좋다고 한다. SSL 에 대한 지원이 더 향상되었다고 한다.

일단 여기선 2.7.5 를 사용할 예정이다.

  • concurrent.futures : 이녀석은 python 3 에는 기본적으로 들어있다고 한다. python 2에는 들어있지 않으니 설치하자. 얘가 있어야 ThreadedResolver 를 사용할 수 있다고 한다. 이 thread pool 이 tornado 에서 사용하기 좋은 thread pool 이라고 한다.
  • pycurl (optional) : pycurl 은 tornado.curl_httpclient 를 위해 필요하다.
  • ...

Platforms

토네이도는 Unix-like 플랫폼에서 동작시키라고 한다. 제일 좋은 녀석은 Linux + epoll / BSD + kqueue 라고 한다. 상품으로 출시할 때는 이 두녀석을 쓰라고 한다.
windows 나 mac 은 개발용으로 쓰라고 한다.



Hello world 예제

Hello World 예제 를 한 번 따라 해 보자. 이 예제는 그냥 tornado 를 동작하게 하는 것이 목적이다. 즉 tornado 를 주로 사용하는 목적인 Future 등의 사용을 하지는 않는다.


ref. 1에서 Future 등을 위해서는 간단한 채팅 프로그램 예제를 보라고 한다.



# from : http://www.tornadoweb.org/en/stable/#hello-world
# myapp.py
import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()




실행

실행은 간단하다.
python myapp.py

이제 web browser 에서 확인해 보자.






References

  1. Tornado Web Server — Tornado 4.3 documentation
  2. Simple Web Services - Introduction to Tornado [Book]


댓글 1개: