External Process もっと詳しく

http://d.hatena.ne.jp/yssk22/20090615#1245080242http://d.hatena.ne.jp/yssk22/20090708/1247078669 で、CouchDBURIから外部プロセスをたたき起こすExternal Processについて調べました。最近、あらゆるデータをCouchDBへ、というのが自分の中の流行なので、いろんなバッチスクリプトを書いているわけですが、いつもcronに登録し忘れたり、ファイルシステムイベントの検知スクリプトを起動し忘れたりして、だめだめな自分に気がつきます。

こうなると、CouchDBのExternal Processと組み合わせて使いたくなる。つまり、バッチ系のスクリプト自動起動するように、external processをしこんでおいて、CouchDBへのアクセスがあったら、裏側で_external を蹴って帳尻を合わせよう、という戦略です。

  • External Process は /{db}/{proc_key} で起動でき、HTTP Request を受け取ることができる。
  • External Process は1度に1つのプロセスしか処理しない。

というのがすでにわかっています。もう少しExternal Processのプロセスモデルについて調べてみますが、これ以降は動作を調べるよりもソースを読んだ方が確実そうなので、ソースを読みます。以下 CouchDB 0.10.1 のソースから。

続きを読む