后端调用python遥感功能的方式
2021/11/25 17:11:10
本文主要是介绍后端调用python遥感功能的方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、BS系统中,java实现后端开发,python实现遥感功能,利用python的flask库将遥感功能发布服务,java通过发送http请求的形式调用python的遥感功能,处理完成后python再通过调用java发布的服务,将处理结果、处理状态等信息通过http请求形式传递给java后端。
from flask import Flask, request app = Flask(__name__) @app.route('/algorithm/building_detection', methods=['POST']) def buildingDectection(): task_id = request.json.get("taskid", None) task_name = request.json.get("taskname", None) input_files_str = request.json.get("input_files", None) output_file = request.json.get("output_file", None) ...... url = database_url data = {"taskid": task_id, "taskname": task_name, "status": status, "dataname": results, "error": res_obj.msg} data_ = json.dumps(data) res = requests.post(url=url, data=data_.encode("utf-8")) return dict(res_obj)
if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, threaded=False) # debug=False,
thread关键字设为True时,可以接收多个http请求,并行处理;设为False时,则是排队逐个处理请求。
注:利用flask发布服务,对应的每个功能都必须有返回值,否则提示“did not return a valid response. The function either returned None or ended without a return statement”
二、遥感功能经常会执行较长时间,发送的http请求可能不能持续等待造成中断,以至于不能接收到处理结果。所以才会在遥感功能处理完成后,再调用后端发布的服务,通过http请求的形式将处理结果、处理状态返回给后端。
三、通过flask发布服务,实现后端调用遥感功能,一旦发送请求后,待处理任务不可控。还有另外一种方法就是利用python去查询数据库中的任务表单,检索到待处理任务后,就获取相关参数,调用对应的遥感算法功能,处理完成后,再将处理结果和处理状态写入数据库。可以用while无线循环查询任务表单,也可以用定时任务定时查询。
if __name__ == '__main__': while True: handleService = HandleTaskService() res = handleService.executeHandleTask() time.sleep(30)
这篇关于后端调用python遥感功能的方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门