CherryPyで吃驚した事
id:Voluntas さんのページで、CherryPyが紹介しておりまして、
- Twisted Mind : CherryPy
http://d.hatena.ne.jp/Voluntas/20060817#1155830691
非常に面白そうに書かれていたので、試してみました。
いや、すごいっすね。
更に吃驚したのは、「entryメソッドを追加してみましょう」とあった箇所で、動作させたまま、何の気なしに entry メソッド部分をコピーして、ファイルに貼り付けて保存した瞬間、いきなりサーバがリブートした所です。
20/Aug/2006:01:51:23 ENGINE INFO SystemExit raised: shutting down autoreloader 20/Aug/2006:01:51:23 HTTP INFO HTTP Server shut down 20/Aug/2006:01:51:23 ENGINE INFO CherryPy shut down Unhandled exception in thread started by Error in sys.excepthook: Original exception was: 20/Aug/2006:01:51:25 CONFIG INFO Server parameters: 20/Aug/2006:01:51:25 CONFIG INFO server.environment: development 20/Aug/2006:01:51:25 CONFIG INFO server.log_to_screen: True 20/Aug/2006:01:51:25 CONFIG INFO server.log_file: 20/Aug/2006:01:51:25 CONFIG INFO server.log_tracebacks: True 20/Aug/2006:01:51:25 CONFIG INFO server.log_request_headers: True 20/Aug/2006:01:51:25 CONFIG INFO server.protocol_version: HTTP/1.0 20/Aug/2006:01:51:25 CONFIG INFO server.socket_host: 20/Aug/2006:01:51:25 CONFIG INFO server.socket_port: 8080 20/Aug/2006:01:51:25 CONFIG INFO server.socket_file: 20/Aug/2006:01:51:25 CONFIG INFO server.reverse_dns: False 20/Aug/2006:01:51:25 CONFIG INFO server.socket_queue_size: 5 20/Aug/2006:01:51:25 CONFIG INFO server.thread_pool: 10 20/Aug/2006:01:51:27 HTTP INFO Serving HTTP on http://localhost:8080/
要するに、ファイルの更新を どこかで監視しているって事ですよね?
幾つかのフレームワークでは、そういった機能を持つものがあるらしいとは知っていましたが、目の前で動くと、思わず感動してしまいました。ほえ〜。
という訳で、今日の教訓:百聞は一見に如かず。