Commit 3d3adff7 authored by 张晓彤's avatar 张晓彤

异常检查改进

parent 21090174
...@@ -88,10 +88,8 @@ class Dispatcher: ...@@ -88,10 +88,8 @@ class Dispatcher:
try: try:
self.logger.info(f'调度分组: {group.group_id} {DispatchInfo.group_name[group.group_id]}') self.logger.info(f'调度分组: {group.group_id} {DispatchInfo.group_name[group.group_id]}')
self.logger.info("组内挖机") self.logger.info(f'组内挖机: {group.excavator}')
self.logger.info(group.excavator) self.logger.info(f'组内卸点: {group.dump}')
self.logger.info("组内卸点")
self.logger.info(group.dump)
self.submission.group_dispatch_to_redis(group, truck_dispatch_plan_dict) self.submission.group_dispatch_to_redis(group, truck_dispatch_plan_dict)
except Exception as es: except Exception as es:
...@@ -120,23 +118,30 @@ class DispatchSubmission: ...@@ -120,23 +118,30 @@ class DispatchSubmission:
:return: None :return: None
""" """
try: try:
try: if truck_id not in DispatchInfo.truck_group_dict:
truck_direct2redis(truck_id)
self.logger.error(f'查询不到车辆 {truck_id} 所在分组')
return
else:
group_id = DispatchInfo.truck_group_dict[truck_id] group_id = DispatchInfo.truck_group_dict[truck_id]
record = {"truckId": truck_id}
task = self.truck.get_truck_current_task()[truck_id]
except Exception as es:
self.logger.error("调度结果写入异常-读取矿卡信息异常(uuid, group id, task)")
self.logger.error(es)
try:
group_mode = DispatchInfo.get_group_mode(group_id) group_mode = DispatchInfo.get_group_mode(group_id)
except Exception as es: if group_mode is None:
self.logger.error("调度模式读取异常") self.logger.error(f'查询不到分组 {group_id} 调度模式')
self.logger.error(es)
group_mode = 3 group_mode = 3
elif group_mode not in [1, 2, 3, 4]:
self.logger.error(f'分组 {group_id} 调度模式数值异常:{group_mode}')
group_mode = 3
if truck_id not in self.truck.get_truck_current_task():
truck_direct2redis(truck_id)
self.logger.error(f'查询不到车辆 {truck_id} 当前任务')
return
else:
task = self.truck.get_truck_current_task()[truck_id]
record = {"truckId": truck_id}
if group_mode == 3: if group_mode == 3:
try: try:
...@@ -179,18 +184,6 @@ class DispatchSubmission: ...@@ -179,18 +184,6 @@ class DispatchSubmission:
item = (session_mysql.query(DispatchSetting).filter_by(group_id=group_id, isdeleted=0, ).first()) item = (session_mysql.query(DispatchSetting).filter_by(group_id=group_id, isdeleted=0, ).first())
self.logger.error(es) self.logger.error(es)
# # 调度目的地写入
# try:
# if dispatch_seq[0] is None:
# raise Exception("调度计划表与实时监控不匹配")
# record["dumpId"] = DispatchInfo.unload_area_dump_dict[dispatch_seq[1]]
# record["unloadAreaId"] = dispatch_seq[1]
# except Exception as es:
# # item = (session_mysql.query(DispatchSetting).filter_by(truck_id=truck_id, isdeleted=0, ).first())
# record["dumpId"] = item.dump_id
# record["unloadAreaId"] = item.unload_area_id
# self.logger.error(es)
# 其余调度信息写入 # 其余调度信息写入
try: try:
# record["dispatchId"] = item.id # record["dispatchId"] = item.id
...@@ -226,18 +219,6 @@ class DispatchSubmission: ...@@ -226,18 +219,6 @@ class DispatchSubmission:
item = (session_mysql.query(DispatchSetting).filter_by(group_id=group_id, isdeleted=0, ).first()) item = (session_mysql.query(DispatchSetting).filter_by(group_id=group_id, isdeleted=0, ).first())
self.logger.error(es) self.logger.error(es)
# # 调度目的地写入
# try:
# if dispatch_seq[0] is None:
# raise Exception("调度计划表与实时监控不匹配")
# record["exactorId"] = dispatch_seq[0]
# record["loadAreaId"] = DispatchInfo.excavator_load_dict[dispatch_seq[0]]
# except Exception as es:
# # item = (session_mysql.query(DispatchSetting).filter_by(truck_id=truck_id, isdeleted=0, ).first())
# record["exactorId"] = item.exactor_id
# record["loadAreaId"] = item.load_area_id
# self.logger.error(es)
# 调度信息写入 # 调度信息写入
try: try:
# record["dispatchId"] = item.id # record["dispatchId"] = item.id
...@@ -274,21 +255,6 @@ class DispatchSubmission: ...@@ -274,21 +255,6 @@ class DispatchSubmission:
isdeleted=0, ).first()) isdeleted=0, ).first())
self.logger.error(es) self.logger.error(es)
# # 调度目的地写入
# try:
# if dispatch_seq[0] is None:
# raise Exception("调度计划表与实时监控不匹配")
# record["exactorId"] = dispatch_seq[0]
# record["loadAreaId"] = DispatchInfo.excavator_load_dict[dispatch_seq[0]]
# except Exception as es:
# item = (
# session_mysql.query(DispatchSetting)
# .filter_by(truck_id=truck_id,
# isdeleted=0).first())
# record["exactorId"] = item.exactor_id
# record["loadAreaId"] = item.load_area_id
# self.logger.error(es)
# 调度信息写入 # 调度信息写入
try: try:
...@@ -348,5 +314,6 @@ class DispatchSubmission: ...@@ -348,5 +314,6 @@ class DispatchSubmission:
self.truck_dispatch_to_redis(truck_id, dispatch_plan) self.truck_dispatch_to_redis(truck_id, dispatch_plan)
self.logger.info("======================================== 完成写入 =======================================") self.logger.info("======================================== 完成写入 =======================================")
except Exception as es: except Exception as es:
self.logger.error(f'分组 {group.group_id} 车辆 {truck_id} 异常') self.logger.error(f'分组 {group.group_id} 车辆 {truck_id} 异常')
self.logger.error(es) self.logger.error(es)
truck_direct2redis(truck_id)
...@@ -481,6 +481,7 @@ class Group: ...@@ -481,6 +481,7 @@ class Group:
except Exception as es: except Exception as es:
self.logger.error(f'车辆 {i} 调度异常') self.logger.error(f'车辆 {i} 调度异常')
self.logger.error(es) self.logger.error(es)
truck_dispatch[i] = [None, None]
# return dispatch plan # return dispatch plan
return truck_dispatch return truck_dispatch
...@@ -139,8 +139,6 @@ class TruckInfo(WalkManage): ...@@ -139,8 +139,6 @@ class TruckInfo(WalkManage):
key_value_dict = redis2.hgetall(item) # reids str可以自动转为bytes key_value_dict = redis2.hgetall(item) # reids str可以自动转为bytes
device_type = int(key_value_dict[str_to_byte("type")]) device_type = int(key_value_dict[str_to_byte("type")])
if device_type == 1: if device_type == 1:
bb = self.dynamic_truck_set
cc = truck_name_to_uuid_dict
if truck_name_to_uuid_dict[item] in self.dynamic_truck_set: if truck_name_to_uuid_dict[item] in self.dynamic_truck_set:
currentTask = int(key_value_dict[str_to_byte("currentTask")]) currentTask = int(key_value_dict[str_to_byte("currentTask")])
self.truck_current_task[ self.truck_current_task[
...@@ -302,7 +300,6 @@ class TruckInfo(WalkManage): ...@@ -302,7 +300,6 @@ class TruckInfo(WalkManage):
# last_unload_time = self.relative_last_unload_time[ # last_unload_time = self.relative_last_unload_time[
# self.truck_index_to_uuid_dict[i] # self.truck_index_to_uuid_dict[i]
# ] # ]
bb = self.relative_last_unload_time
last_unload_time = self.relative_last_unload_time[ last_unload_time = self.relative_last_unload_time[
truck_id truck_id
] ]
......
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