123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import requests
- import os
- import json
- import logging
- import time
- ''' 准备数据 '''
- SCHEDULER_BASE_URL = os.getenv("SCHEDULER_BASE_URL")
- BACKEND_BASE_URL = os.getenv("BACKEND_BASE_URL")
- logger = logging.getLogger("algoA logger")
- missionId = os.getenv("missionId")
- planId = os.getenv("planId")
- headers = {
- "Content-Type": "application/json", # 明确声明数据格式
- "Accept": "application/json" # 声明期望的响应格式
- }
- params = {
- "missionId": missionId,
- "planId": planId,
- }
- print(json.dumps({'msg': 'started'}), flush=True)
- response = requests.get(SCHEDULER_BASE_URL + '/fetchData', params=params, headers=headers)
- data = response.json()
- if not data:
- quit()
- print(json.dumps({'msg': 'start', 'data': data}), flush=True)
- ''' 开始计算 '''
- progressData = {
- 'missionId': missionId,
- 'planId': planId,
- 'progress': 0,
- }
- print(json.dumps({'msg': 'progress', 'data': progressData}), flush=True)
- while progressData['progress'] < 100:
- start_time = time.perf_counter()
- count = 0
- while True:
- count += 1
- if time.perf_counter() - start_time >= 1.0:
- break
- progressData['progress'] += 5
- print(json.dumps({'msg': 'progress', 'data': progressData}), flush=True)
- start_time = time.perf_counter()
- count = 0
- while True:
- count += 1
- if time.perf_counter() - start_time >= 5.0:
- break
- ''' 完成计算 '''
- result = {
- 'missionId': missionId,
- 'planId': planId,
- 'progress': 100,
- 'nodes': [[1, 'S'], [2, 'D'], [3, 'D'], [4, 'I']],
- 'edges': [[1, 2], [1, 4], [2, 4], [3, 4]],
- }
- print(json.dumps({'msg': 'result', 'data': result}), flush=True)
- # if response:
- # if response.json()['code'] == 'OK':
- # print("response is ok")
- # response = requests.post(BACKEND_BASE_URL + "/rawDataTrans/", json={
- # 'missionId': missionId,
- # 'planId': planId,
- # 'progress': 100,
- # 'nodes': [[1, 'S'], [2, 'D'], [3, 'D'], [4, 'I']],
- # 'edges': [[1, 2], [1, 4], [2, 4], [3, 4]],
- # })
- # print(f"算法控制程序推送结果完毕 MissionId: {missionId} PlanId: {planId} Message: {response.json()}")
- # else:
- # print(f"算法控制程序结果反馈未被识别 MissionId: {missionId} PlanId: {planId}")
- # else:
- # print(f"算法控制程序结果反馈失败 MissionId: {missionId} PlanId: {planId}")
|