python - 使用 Akka actor 调用或将消息传递给 Python 代码

标签 python scala akka actor pykka

我有一些用 Python 编写的分析代码。目前我正在使用 Storm 来处理流。因为 Storm 允许使用消息序列化调用 Python 代码,所以我在我的 Storm bolt 中从 Java/Scala 调用 Python 代码。

我找到了 Pykka这是 actor 模型的 Python 实现。我想知道是否有办法从 Akka Actor 调用 Python 代码?例如,是否可以将消息从 Akka Actor 传递给 Pykka Actor ?

最佳答案

我怀疑两个远程参与者模型实现的有线协议(protocol)是否可以轻松桥接,但您可以使用 0MQ在 Scala 代码和 Python 应用程序之间。 Akka 允许 message passing over 0MQ ,所以在一些设置之后,Scala 代码可以像处理任何其他参与者一样处理 Python 应用程序,尽管我不确定这对 Python 端意味着什么。

另一种值得考虑的可能性是使用 Jython 在 JVM 上运行 Python 分析代码。 .您可以让 Scala 参与者调用 Jython 函数/方法。但是,如果您的 Python 代码使用 C 扩展模块,您就必须寻找替代方案。

另一种可能性(也假设您没有使用 C 扩展模块)是给转换器 py2scala试一试;对于数据分析代码,它可能做得不错。据推测,这将为您提供最高效的解决方案。

关于python - 使用 Akka actor 调用或将消息传递给 Python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22800795/

相关文章:

playframework - Akka Actor 远程不起作用(在 Play 框架中)

scala - 如何真实测试akka流?

python 将字符串转换为整数数组

scala - 如何在IntelliJ IDEA 14社区版中创建Play项目?

scala - 如何将输入数据转换为以下格式? - 通过...分组

scala - 从上到下打印供应商段

python - 大量的 Python OSC 模块——使用哪一个?

python - 弹性 beantalk 需要 python 3.5

python - 从列表列表中删除重复内容而不保留任何顺序

scala - 使用一次性 header 处理 Akka 流