4.2 服务端部署案例讲解

本节主题:4.2 服务端部署案例讲解

课程讲师:Charlie

观看地址:点我进入

1 本节要点

  • 上期作业讲解
  • 服务端部署实例(定时框架)
  • 服务端部署案例(前端事件)
  • 服务端部署案例(Webhook)

2 课前准备

3 课程内容

3.1 上期作业讲解

(演示)

3.2 后端应用实例(定时框架)

import json
from apscheduler.schedulers.blocking import BlockingScheduler
import requests

def get_jdy_data():
    url = "https://www.jiandaoyun.com/api/v1/app/5afe2461743ef87fde26a894/entry/5c12198c99b0d10dc49edfff/data"
    payload  = {}
    headers = {
      'Authorization': 'Bearer ????????????????????'
    }
    response = requests.request("POST", url, headers=headers, data = payload)
    print(response.text)
 
if __name__ == '__main__':
    scheduler = BlockingScheduler()
    scheduler.add_job(get_jdy_data, 'cron', day_of_week='*' ,hour='14', minute='05', second='00')
    scheduler.start()

3.3 后端应用实例(前端事件)

类型

参数

数据格式

传入参数

x

JSON

返回参数

y

JSON

from flask import Flask,request
import json

app = Flask(__name__)       

def calc(x):
    y = x + 10
    return y

@app.route('/test/' ,methods=['POST'])
def hello_world():
    x = json.loads(request.data)['x']
    y = calc(int(x))
    
    return json.dumps({'y':y})

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=3100)

3.4 服务端部署案例(Webhook)

from flask import Flask,request
import json
import threading

app = Flask(__name__)       

def calc(x):
    y = x + 10
    print(y)

@app.route('/test/' ,methods=['POST'])
def hello_world():
    x = json.loads(request.data)['data']['_widget_1586252392790']
    threading.Thread(target=calc,args=(int(x),)).start()
    return 'success',200

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=3100)

4 课后作业

4.1 选择题作业

作业课次:5

注册课程后,方可答题:点击注册课程

选择题地址:点击查看

4.2 编程题作业

作业一:使用前端事件功能实现体积计算(v=xyz)(3分)截图Python代码 提示:在表单中添加4个控件(x,y,z,v),输入x,y,z后(z为前端事件触发字段) 触发前端事件调用接口计算并回写v

作业二:使用Webhook实现体积计算(v=xyz)(3分)截图Python代码 提示:在表单中添加4个控件(x,y,z,v),输入x,y,z后提交数据触发Webhook,推送至ECS计算体积,计算v后使用数据API回写至对应的数据

from flask import Flask,request
import json
import threading
import requests

app = Flask(__name__)       

def post_to_jdy(v,data_id):
    pass

def calc(x,y,z,data_id):
    pass

@app.route('/test/' ,methods=['POST'])
def hello_world():
    x = json.loads(request.data)['data']['_widget_1586252719049']
    y = json.loads(request.data)['data']['_widget_1586252719064']
    z = json.loads(request.data)['data']['_widget_1586252719079']
    data_id = json.loads(request.data)['data']['_id']
    threading.Thread(target=calc,args=(float(x),float(y),float(z),data_id,)).start()
    return 'success',200

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=3100)

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验