我正在开发一个处理大量图像处理的 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/