2

私は Erlang を初めて使用しますが、私が持っている同時実行の要求により、この技術に適用できると思われるアプリケーションから始めたいと思っています。

この写真は、私がやりたいことを強調しています。

http://imagebin.org/163917

メッセージがキューからプルされ、ユーザーが Django アプリのフォームに何らかの入力を行った結果として以前にセットアップされたワーカー プロセスにルーティングされる場所。セットアップには追加のデータベース (既存のデータベースなので、このビットには ETS/DETS を使用したくない) ルックアップが必要であり、メッセージ ルーターと通信して関連するプロセスを作成します。

私の問題は、将来、セットアップが必要なすべてのワーカーを Django アプリに問い合わせて、最初にタスクを実行することを希望する可能性があることを考えると、ここで通信するための最良の方法は何ですか。私は HTTP/json を好み、Mochiweb と MochiJson で見つけられるものを少し読んだことがあります。OTP スーパーバイザとアプリケーションを用意する予定でしたが、erlang メッセージをルーターに渡す別の mochiweb プロセスを用意するのは賢明でしょうか?

スクリプトを使用してディレクトリ構造を作成する方法について説明しているすべてのチュートリアルが原因で、mochiweb に少し苦労しました。これは、mochiweb 中心のデザインになっているようです。これは望ましくありません。軽量の mochiweb プロセスが必要です。それは時折の仕事をします。

これをバラバラにしてください。すべてのコメントを歓迎します。

乾杯

デイブ

4

1 に答える 1

2

mochiweb は素晴らしいですが、実際に必要なのはwebmachineだと思います。完全なドキュメントは、ここここで入手できます。一言で言えば、webmachine は REST アプリケーションを作成するためのツールキットです。舞台裏で mochiweb を使用していますが、複雑な (そして文書化されていない) 詳細をすべて隠しています。Webmachine プロジェクトを作成すると、完全な OTP アプリケーションと既定のリソースが得られます。そこから、次のようなことを行います。

  1. 独自のリソースを追加します (または、デフォルトのリソースを変更して名前を変更します)。
  2. リソースとパスがアプリにとって意味のあるものになるように、ディスパッチャーを変更します。
  3. ワーカー プロセスを作成および監視するためのコードを追加します。おそらく、gen_serverおよびスーパーバイザーです。アイデアについては、この記事と関連記事を参照してください。プロジェクトを作成したときに提供されたメインのスーパーバイザーの下で両方を開始する必要があることに注意してください。
  4. と通信するようにリソースを変更しますgen_server

私はあなたが尋ねている他のすべてを完全にフォローしていません.コメントでフォローアップの質問に答える方が簡単かもしれません.

于 2011-07-20T05:33:18.683 に答える