Rom*_*man 19 python sockets deployment publish
我的工作的最终结果应该是一个Python函数,它将JSON对象作为唯一的输入并返回另一个JSON对象作为输出.为了使它更具体,我是一名数据科学家,我所说的功能来自数据,它提供了预测(换句话说,它是一个机器学习模型).
所以,我的问题是如何将这个功能提供给将要将其整合到Web服务中的"技术团队".
目前我面临的问题很少.首先,技术团队不一定在Python环境中工作.因此,他们不能只将我的功能"复制并粘贴"到他们的代码中.其次,我想确保我的功能在与我相同的环境中运行.例如,我可以想象我使用了一些技术团队没有的库,或者他们的版本与我使用的版本不同.
添加
作为可能的解决方案,我考虑以下内容.我启动一个Python进程,它监听套接字,接受传入的字符串,将它们转换为JSON,将JSON提供给"已发布"函数,并将输出JSON作为字符串返回.这个解决方案有缺点吗?换句话说,将一个Python函数"发布"为一个监听套接字的后台进程是一个好主意吗?
使用套接字你有正确的想法,但有很多框架正在做你想要的.像hleggs一样,我建议您检查Flask以构建微服务.这将让其他团队将HTTP请求中的JSON对象发布到您的烧瓶应用程序并返回JSON对象.不了解底层系统或所需的额外要求!
这是一个烧瓶应用程序的模板,用于回复和响应JSON
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/', methods=['POST'])
def index():
json = request.json
return jsonify(your_function(json))
if __name__=='__main__':
app.run(host='0.0.0.0', port=5000)
Run Code Online (Sandbox Code Playgroud)
编辑:按照彼得英国的建议直接嵌入我的代码
归档时间: |
|
查看次数: |
509 次 |
最近记录: |