python - 在 Grails 应用程序后面使用 Python 或 C

标签 python grails groovy jms activemq

我正在开发一个处理大量图像处理的 grails 应用程序。工作流程是:

  • 用户上传图片
  • 项目被添加到队列中
  • 后端进程将从队列中挑选项目并对其进行分析

我遇到了 OpenCV,它有很多我想使用的功能,但是,它的 java 包装器 JavaCV工作起来很痛苦。除了 Java/Scala 中的几个示异常(exception),它缺少文档。然而,它有 C 或 Python 的不错的文档。 .

所以我想知道用 Python 还是 C 编写队列工作人员是否可以。工作人员会从队列中取出一个项目,处理它,然后将它放回队列中,以便我的 grails 应用程序可以选择它了。

我的问题是:

  • 我的队列应该使用什么? JMS 插件?
  • 要让 Python 或 C 识别队列中有新项目,我需要做什么特别的事情吗?这是 ActiveMQ 的优势所在吗?
  • 您是否发现我的方法存在重大问题?
  • 任何显示此类 JMS 跨平台演示的链接都将不胜感激

最佳答案

  • 我的队列应该使用什么? JMS 插件?

我想您可能会在使用不同的队列实现时遇到同样的问题:您可能找不到适合 JMS 的 C 或 Python API。

为什么不直接使用数据库表作为队列?

  • 要让 Python 或 C 识别队列中有新项目,我需要做什么特别的事情吗?这是 ActiveMQ 的优势所在吗?

没什么特别的 - 你只需要知道如何使用队列...:-) ActiveMQ 是 Java 世界中众所周知的 JMS 实现

  • 您是否发现我的方法存在重大问题?

如果您可以在项目中处理两种不同的语言,则不会。这会增加复杂性。如果您决定使用 JMS 解决方案,您还将通过队列管理器增加复杂性...

希望对您有所帮助!

关于python - 在 Grails 应用程序后面使用 Python 或 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15709616/

相关文章:

python - SpaCy 的匹配器正则表达式不匹配字符串

树莓派上的Python机器通信

unit-testing - 在 Controller 单元测试中 stub 自定义TagLib方法

grails - 我应该把客户代码放在哪里?

java - Grails:堆栈红色区域的无效访问

list - 在 Groovy 中从另一个对象列表中减去一个对象列表的最佳方法是什么?

python - Jupyter 笔记本上的空白浏览器页面 - 自定义 CSS?

python - 运行函数时导入的模块变为 None

groovy - Groovy 二进制文件和源代码版本之间的区别?

java - 如何设置 apache Camel Groovy 脚本组件的属性