如何将Flask应用程序和Nameko微服务结合起来?
让我给你一些背景。我有基于烧瓶(http://flask.pocoo.org)的网络应用程序。此应用程序可以执行长任务(5-10分钟)。我希望能够在此应用程序仍在运行时编写并附加其他模块。如果我在开发过程中停止应用程序,这是可以的,但我不能在生产中停止它。
我对Nameko (https://nameko.readthedocs.org)没有任何经验,这是解决我的问题的最好方法吗?如果是这样的话,我能把烧瓶应用程序和Nameko微服务混合起来吗?
发布于 2015-10-22 11:29:17
这里是nameko的撰稿人。我同意纳坦卡希尔的观点,芹菜是一个很好的选择。
你绝对可以一起用nameko和烧瓶。这里有一个简略的例子:https://gist.github.com/mattbennett/4250ce5d56b36a99bc39
但是,在这种配置中,您所涵盖的领域与芹菜是为--即在请求响应周期之外处理长期运行的任务--而构建的。坦率地说,gist中的示例最好完全作为nameko应用程序来实现(使用内置的http entrypoint),因为它没有使用Flask提供的任何更高级的web框架功能。
如果您想编写微服务,甚至那些主要基于HTTP的微服务,nameko提供了一些很好的工具。如果您只想将异步处理添加到现有的webapp中,芹菜将是标准的选择。
发布于 2020-02-28 16:51:27
在网关进口瓶中
from flask import Flask
app = Flask(__name__)示例:
import json
from nameko.rpc import RpcProxy
from nameko.web.handlers import http
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)发布于 2015-05-15 10:45:00
你听说过弹球吗?这是Pinterest自己的工作流管理器。
它允许您在多台机器上调度和管理任务缩放,它是用Python编写的。
他们兜售下列设计原则:
https://stackoverflow.com/questions/30002559
复制相似问题