yuin/rayphe — pull request #1 by nobrin (2012-01-18 09:13:59+00:00)
Title: Add waiting loop for server restart when appfile is modified.

初めまして、nobrinといいます。本日からraypheを使わせていただいております。
シンプルな動作がいいですね。素晴らしいスクリプトを公開して下さってありがとうございます。

さて、本体プログラム開発時にファイルが更新されるとサーバが自動再起動される仕様になっていますが、私の環境では再起動に失敗しましたので、__init__.pyのファイル更新が検知されたときに再起動する部分にループを追加したところ、問題なくなりました。よろしければ参考にして下さい。

それでは失礼いたします。

ps.
オープンソースへのコミットはほとんどしたことがないので、場違いなメッセージでしたら申し訳ありません。

環境：Vine Linux 5.2 + Python 2.5.4

修正箇所: line 761 in src/__init__.py
modified: src/__init__.py

エラーログ
Server starting up... (0.0.0.0:7000)
Traceback (most recent call last):
File "./mdviewsrv.py", line 41, in
app.run_simple(port=7000, host="0.0.0.0")
File "/usr/lib/python2.5/site-packages/rayphe/__init__.py", line 802, in run_simple
self.run(f, *args, **kw)
File "/usr/lib/python2.5/site-packages/rayphe/__init__.py", line 724, in run
server_func(reduce(lambda r,v: v(r), middlewares, self), host, port, **kw)
File "/usr/lib/python2.5/site-packages/rayphe/__init__.py", line 776, in f
run_server_func(app, host, port)
File "/usr/lib/python2.5/site-packages/rayphe/__init__.py", line 801, in
f = lambda app, host, port : simple_server.make_server(host, port, app, ThreadingWsgiServer).serve_forever()
File "/usr/lib/python2.5/wsgiref/simple_server.py", line 181, in make_server
server = server_class((host, port), handler_class)
File "/usr/lib/python2.5/SocketServer.py", line 330, in __init__
self.server_bind()
File "/usr/lib/python2.5/wsgiref/simple_server.py", line 50, in server_bind
HTTPServer.server_bind(self)
File "/usr/lib/python2.5/BaseHTTPServer.py", line 101, in server_bind
SocketServer.TCPServer.server_bind(self)
File "/usr/lib/python2.5/SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "", line 1, in bind
socket.error: (98, 'Address already in use')