JotSpot: Googleチームから機能アップの案内
http://help.jot.com/R2.9ReleaseNotes
ほぼ全てのサービスがRSSに対応した。
なかなかいいな。
これで無料なら言うことないんだけど。
各ページへのコメントはメールで出せるようになっているみたい。
これもなかなか。
Unix Daemon
http://homepage.hispeed.ch/py430/python/index.html
http://homepage.hispeed.ch/py430/python/daemon.py
http://homepage.hispeed.ch/py430/python/daemon (init.dサンプル)
オリジナルはこちら
Fork a daemon process on Unix
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66012
yasusiiさめに教えてもらったもの。
Creating a daemon the Python way
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278731
前者のほうがシンプルでわかりやすい感じ。実コードはmain()に押し込めばいい感じだし。
後者はコメントが多くて勉強になるけど、量があるので英語にめげる。
とりあえずdaemon化
スレッド化については、DAAPでは、最低2セッションの維持が必要になるので、DaapHTTPServer.ThreadingDaapHTTPServerを作った。
上の記事の後者、daemon.pyを使ってdaemon化をする。
はじめは、daapd.mainを呼び出すようにしていたが、Zeroconf関係の処理をdaemon.pyに移すなら、マージしたほうがいいかということで1つにしてしまう。
daemon.pyのライセンスが要確認だ。
PythonCookbookには、何かデフォルトのライセンス規定があるのだろうか?
pidをSIGTERMしたら、Zeroconfの取り消しはできるようになったけど、プロセスが終わらない。子プロセスも残ったままだ。
まだ先は長そうだな... まだ本題に入ってないというのに(--;。
ライセンスって、バージョンごとに違うの?
http://www.python.org/psf/license/
OSSL準拠の2.1から変更ないかと思ってたけど、バージョン毎に違うのか。
参ったな...
コンフリクトしないためには、2.1 or laterって書くしかないのかな。
# Python Software Foundation License Version 2 http://wiki.python.org/moin/PythonSoftwareFoundationLicenseV2Easy
指摘修正
yasusiiさめに突っ込まれたところは、こんなもんで。
# ps ax --forest 6201 ? Ss 0:01 \_ sshd: kinneko [priv] 6203 ? S 2:32 \_ sshd: kinneko@pts/2 6204 pts/2 Ss 0:04 \_ -bash 6825 pts/2 S 0:00 \_ su - 6826 pts/2 S+ 0:06 \_ -su 7168 ? S 0:00 /usr/bin/python ./daapd.py 7169 ? R 0:00 \_ /usr/bin/python ./daapd.py 7170 ? S 0:00 \_ /usr/bin/python ./daapd.py 7171 ? S 0:00 \_ /usr/bin/python ./daapd.py
ふぅ... まだ先は長い。
やっぱ、プログラマ向きじゃないのね...
サーバーを2つに分けるなら
プロセス間通信をしないといけないのよね...
python-ipc
http://www.ka.sara.nl/home/walter//python-ipc/
Socket Programming HOWTO
http://www.amk.ca/python/howto/sockets/
pIPC: Inter-Process Communication wrapper class
http://software.fionet.com/pIPC/
pipe_rpc: RPC over pipes
http://www.k1024.org/pipe_rpc/
pyipc: Python bindings to System V IPC
http://const.tltsu.ru/
remoteD
http://remoted.neurokode.com/
この前書いたPyroがよさげかな...
こいつもわかりやすい感じ。
spoonrpc: Distributed message passing IPC system
http://www.zarrf.com/SpoonRPC/