如何将Flask Web应用程序和Nameko微服务结合起来?
让我给你一些背景。我有基于flask的(http://flask.pocoo.org)Web应用程序。此应用程序可以执行长(5-10分钟)的任务。我希望能够在应用程序仍在运行时向其写入并附加其他模块。如果我在开发过程中停止应用程序是可以的,但是我不能在生产过程中停止它。
我对Nameko没有任何经验(https://nameko.readthedocs.org),它是解决我问题的最佳方案吗?如果是的话-我可以混合flask应用和nameko微服务吗?
最佳答案
这里是Nameko的贡献者。我同意纳森卡希尔的观点,芹菜是一个不错的选择。
你绝对可以同时使用nameko和flask。这里的要点中有一个简短的例子:https://gist.github.com/mattbennett/4250ce5d56b36a99bc39
不过,在这种配置中,您所覆盖的范围与芹菜的构建目的相同——即在请求响应周期之外处理长时间运行的任务。坦率地说,GIST中的示例可以更好地专门实现为一个Nameko应用程序(使用内置的HTTP入口点),因为它没有使用Flask提供的任何更高级的Web框架之类的功能。
如果您想编写微服务,即使是那些主要基于HTTP的微服务,nameko提供了一些很好的工具来完成这项工作。如果您只想将异步处理添加到现有的webapp中,那么芹菜将是标准的选择。
关于python - 我如何结合 flask 和nameko?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30002559/