问题标签 [mochiweb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
267 浏览

erlang - Mochiweb 中是否有任何状态变量?

我浏览了Mochiweb 代码,但没有发现 State 变量的任何迹象。

Mochiweb 中是否存在类似于 gen_server 的State变量的东西?

我需要在服务器上存储少量与状态相关的服务器端(与会话无关)数据,我不想为此使用 ETS 或 Mnesia。

0 投票
2 回答
2942 浏览

deployment - Erlang/OTP 生产应用部署简介

我想在 VPS 上开发 Erlang/OTP 应用程序并将其部署到生产环境中。

我非常熟悉在本地机器上开发 Erlang 代码,我的问题是关于部署的。

基本上,我想知道我应该采取哪些步骤才能将 Erlang 代码从本地机器移动到生产服务器并使其运行,即可供用户使用。

注意:我已经阅读了一些关于Erlang 和命令行、Erlang代码模块、Erlang版本的文档,但我仍然不确定如何完成所需的任务。

但是,我想在服务器上部署基于 Erlang 的软件比在LAMPsudo tasksel上部署要复杂一些。

我计划有一个 Erlang/OTP 应用程序,它有 Mochiweb、CouchDB ( couchbeam ) 和boss_db作为依赖项。

因此,关于在生产服务器上部署所有这些东西的新手问题如下:

  • 我打算使用 Ubuntu Server 12.04;在生产中用于 Erlang/OTP 的 Linux 发行版是否有更好的选择?
  • 应该如何组织所有代码?我应该将我的应用程序放入 /home/myapp/ 目录,然后将所有依赖项放入 /home/myapp/deps 吗?还是应该将所有依赖项放入/usr/local/lib/erlang/lib?(由代码返回:get_path())。我应该以某种方式定期更新依赖项还是应该冻结它们?
  • 服务器启动后如何使整个应用程序启动?它应该是某种 bash 脚本还是其他什么?
  • 我知道 Erlang 允许热代码升级,但我应该如何组织呢?在 Rails 上我可以用 git 更新代码, Erlang 世界中是否存在类似的东西?
0 投票
1 回答
713 浏览

erlang - 如何让 Webmachine 和 eredis 一起工作?

一周以来,我一直在思考我的 Webmachine 应用程序中 Redis 的使用问题。而我还没有开悟。

我将使用 Eredis,这是一个使用示例:

据我了解eredis:start_link(),应该只在某个地方调用一次。但是,我怎样才能Con在我的资源中获得变量呢?

0 投票
1 回答
346 浏览

erlang - Mnesia 复制和大量脏操作

一些应用程序需要非常快速的响应,以满足他们对用户的期望。我正在构建一个这样的应用程序,我正在使用mnesia. 现在,当我们by-pass使用 mnesia 事务管理器时,我们接近了良好的性能。然而,这就是问题所在:

我们需要复制这个数据库作为我们的一部分load balancing,毕竟,mnesia 为我们完成了复制。我们ONLY dirty在此应用程序中使用操作。我们有几个部分使用async_dirty上下文。我想知道,如果我们不使用transaction这种规模的上下文,mnesia 复制会受到影响吗?

记录上总是发生太多频繁dirty的操作,所以我想知道是否对side B副本提出请求,会发现刚刚所做的更改side A通过脏操作复制?

0 投票
2 回答
535 浏览

erlang - CouchDB 作为 Erlang 版本的一部分

我想构建和部署一个应用程序,其中 Django 作为前端,YAWS ( appmods ) 或 Mochiweb/Webmachine 作为后端,CouchDB 作为数据存储。此外,我计划广泛使用 CouchDB 的复制能力,以便为整个应用程序提供高容错能力。

我倾向于认为,为了实现这一点,我必须创建一个单一的 OTP 版本,其中包含 YAWS 和 CouchDB 作为 Erlang/OTP 应用程序。

这种方法似乎正确吗?我如何根据 OTP 应用程序组织 YAWS 和 CouchDB 以创建可靠的生产设置?有没有这样做的最佳实践?

0 投票
1 回答
3021 浏览

websocket - 无法使用 WebSocket4Net 连接到 websocket 服务器

我有一个 mochiweb 作为 WebSocket 服务器;随着 ws 客户端的顺利进行(打开、发送消息、关闭),使用Chrome浏览器中的JavaScript 进行连接。但是,当我尝试使用websocket4Net从 C# 连接时,我总是从mochiweb得到以下错误。

=CRASH REPORT==== 30-Jan-2013::16:57:41 === crasher: 初始调用: mochiweb_acceptor:init/3 pid: <0.228.0> registered_name: [] 异常错误: 没有 case 子句匹配{error,timeout} in function mochiweb_http:websocket_init_with_origin_validated/4 (mochiweb_http.erl, line 292) in call from mochiweb_http:headers_ws_upgrade/4 (mochiweb_http.erl, line 192) 祖先:[cim_https,<0.166.0>] 消息:[ ] 链接:[<0.167.0>] 字典:[] trap_exit:false 状态:运行 heap_size:1597 stack_size:24 减少:1585

我的 C# 片段:

有没有我错过的参数?关于如何追踪这个的任何想法?

0 投票
2 回答
1232 浏览

erlang - 解析从 mochiweb_html 得到的结果

我想从 html 文件(没有 xml)中解析一些内容。

目前我检索结构以使用 mochiweb_html 解析:

结果是这样的:

从从 mochiweb_http 获得的结构中检索网页中具有特定类的特定标签(例如,<span id="footer">)的所有元素的最佳方法是什么?

0 投票
1 回答
337 浏览

erlang - OTP: how to supervise non-OTP components?

I am building an Erlang/OTP system which consists of a MochiWeb web server, some custom Erlang/OTP applications and a few non-native components, which are the following:

  • a CouchDB database to store both the state of the MochiWeb web server and the persistent data (users, accounts, etc.)
  • a legacy PostgreSQL database to store some other entities (orders, accounts, etc; client's requrement: can not be migrated to CouchDB, the data should be used as is);
  • an Asterisk server to provide phone notifications to the users of the system.

I would like to achieve a high level of uptime and availability and thus I would like to know what is the best way to monitor those non-Erlang/OTP elements of the system. Basically, I would like to have each element of the system to be supervised, monitored and restarted if needed. It is easy achieveable for Erlang/OTP applications, but I don't know how to do that with non-Erlang components.


Should I wrap them as Erlang/OTP applications and include into the OTP supervision tree?

Or should I use some third-party software tools to monitor and supervise those non-Erlang/OTP components of the Erlang/OTP system?

What is the best known practice to do that?

0 投票
1 回答
55 浏览

erlang - *_perf_logger 中的 webmachine 访问帖子正文

试图拦截 webmachine API 上的所有请求。我拿了一份webmachine_perf_logger.erl并更改为发布 {动词、资源、模块}。

对于帖子,我也对 BODY 感兴趣。因为webmachine_decision_core.erl中的日志记录部分在不同的进程中被触发

我看不到如何访问它。

有什么方法可以访问它或其他替代方法表示赞赏。

0 投票
1 回答
137 浏览

mochiweb - 如何在 Mochiweb 中设置用户登录身份验证?

似乎 erlang 的 mochiweb 没有任何允许设置登录重定向用户身份验证的配置。这怎么可能实现?