2

我是 Erlang 的新手,但由于我的并发需求,我想开始使用一个感觉适用于该技术的应用程序。

这张照片突出了我想做的事情。

http://imagebin.org/163917

由于用户在 Django 应用程序中将某些输入作为表单的结果,消息从队列中拉出并路由到先前设置的工作进程。该设置需要一些额外的数据库(预先存在的数据库,因此我不想为此位使用 ETS/DETS)查找,然后与消息路由器对话并创建相关进程。

考虑到我可能想在未来向我的 Django 应用程序询问所有需要设置并首先为他们分配任务的工作人员,我的问题随之而来,这里最好的交流方式是什么。我喜欢 HTTP/json 并且已经阅读了我在 Mochiweb 和 MochiJson 上能找到的一些东西,我认为这可以满足我的需求。我正计划拥有一个 OTP 主管和应用程序,那么拥有一个单独的 mochiweb 进程然后将 erlang 消息传递给路由器是否明智?

由于所有教程都在谈论如何使用脚本创建目录结构,我在使用 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 回答