Commit 8cffae96 authored by 张晓彤's avatar 张晓彤

兜底策略改进

parent de7d84cb
...@@ -17,6 +17,7 @@ from equipment import DumpInfo, ExcavatorInfo, TruckInfo ...@@ -17,6 +17,7 @@ from equipment import DumpInfo, ExcavatorInfo, TruckInfo
from graph.topo_graph import Topo from graph.topo_graph import Topo
from settings import get_logger, redis5 from settings import get_logger, redis5
from tables import session_mysql, DispatchSetting from tables import session_mysql, DispatchSetting
from realtime_dispatch import truck_direct2redis
class DispatchSubmission: class DispatchSubmission:
...@@ -251,6 +252,8 @@ class DispatchSubmission: ...@@ -251,6 +252,8 @@ class DispatchSubmission:
except Exception as es: except Exception as es:
self.logger.error("group_dispatch_to_redis_error") self.logger.error("group_dispatch_to_redis_error")
self.logger.error(es) self.logger.error(es)
truck_direct2redis(truck_id)
def redis_format(truck_id, group_id, dispatch_id, item): def redis_format(truck_id, group_id, dispatch_id, item):
......
...@@ -73,6 +73,19 @@ def group_direct2redis(group: Group): ...@@ -73,6 +73,19 @@ def group_direct2redis(group: Group):
try: try:
for truck_id in group.group_trucks: for truck_id in group.group_trucks:
truck_direct2redis(truck_id)
except CoreException as ce:
logger.error(ce)
session_postgre.rollback()
session_mysql.rollback()
def truck_direct2redis(truck_id):
"""
根据车辆直接读取数据库写入redis
:return: None
"""
item = session_mysql.query(DispatchSetting).filter_by(truck_id=truck_id, isdeleted=0, ).first() item = session_mysql.query(DispatchSetting).filter_by(truck_id=truck_id, isdeleted=0, ).first()
if item is None: if item is None:
raise CoreException(101, "无可用派车计划") raise CoreException(101, "无可用派车计划")
...@@ -80,16 +93,10 @@ def group_direct2redis(group: Group): ...@@ -80,16 +93,10 @@ def group_direct2redis(group: Group):
"dumpId": item.dump_id, "loadAreaId": item.load_area_id, "unloadAreaId": item.unload_area_id, "dumpId": item.dump_id, "loadAreaId": item.load_area_id, "unloadAreaId": item.unload_area_id,
"groupId": item.group_id, "isdeleted": False, "isTemp": False, "haulFlag": -1, "groupId": item.group_id, "isdeleted": False, "isTemp": False, "haulFlag": -1,
"groupName": DispatchInfo.group_name[item.group_id]} "groupName": DispatchInfo.group_name[item.group_id]}
logger.info(f'写入redis调度结果: {record}') logger.info(f'写入redis调度结果: {record}')
# 写入redis # 写入redis
redis5.set(item.truck_id, str(json.dumps(record))) redis5.set(item.truck_id, str(json.dumps(record)))
except CoreException as ce:
logger.error(ce)
session_postgre.rollback()
session_mysql.rollback()
def process(dispatcher): def process(dispatcher):
""" """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment