【发布时间】:2010-12-13 15:46:31
【问题描述】:
要使用 erlang 的一些强大功能,我应该从 Python 中调用 erlang 程序,我该怎么做呢?谢谢~
【问题讨论】:
-
您能描述一下您要解决的问题吗?我正在努力想一个由 Python 应用程序管理的 Erlang 应用程序的有效用例。您还指的是哪些强大的功能?
要使用 erlang 的一些强大功能,我应该从 Python 中调用 erlang 程序,我该怎么做呢?谢谢~
【问题讨论】:
在 Erlang 中,您可以使用端口与外部世界通信,端口为外部程序提供面向字节的接口。
您还可以查看erlport,这是一个实现 Erlang 端口协议的 python 库。
【讨论】:
看看BERT-RPC。它允许您执行remote procedure calls 和强制转换、请求数据(包括流式传输)。在那里,您会找到适用于某些语言(包括 Python)的各种库。
在您的情况下,您可能只是使用ernie 设置erlang 服务器并通过python-bertrpc 客户端与其通信。这两个项目都有记录。
【讨论】:
我们主要使用 JSON over HTTP 来执行此操作。在某些情况下,您可能希望使用更健壮的消息传递协议(例如 AMQP 和 RabbitMQ),但 Python 很少有充分的理由直接使用 Erlang 分发协议。有时我们使用 erlport 来序列化事物而不是 JSON,此时性能更为重要。
【讨论】: