Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
integrated-scheduling-v3
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张晓彤
integrated-scheduling-v3
Commits
39d4f4f7
Commit
39d4f4f7
authored
Jun 21, 2022
by
张晓彤
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复部分零碎BUG
parent
2472978c
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
39 deletions
+24
-39
dispatcher.py
core/dispatcher.py
+10
-25
group.py
core/group.py
+2
-2
dispatchInfo.py
data/dispatchInfo.py
+4
-4
realtime_dispatch.py
realtime_dispatch.py
+4
-4
settings.py
settings.py
+4
-4
No files found.
core/dispatcher.py
View file @
39d4f4f7
...
@@ -31,6 +31,7 @@ class Dispatcher:
...
@@ -31,6 +31,7 @@ class Dispatcher:
self
.
pre_sch
=
pre_sch
self
.
pre_sch
=
pre_sch
self
.
request_mode
=
request_mode
self
.
request_mode
=
request_mode
self
.
submission
=
DispatchSubmission
(
dump
,
excavator
,
truck
)
self
.
submission
=
DispatchSubmission
(
dump
,
excavator
,
truck
)
self
.
logger
=
get_logger
(
"zxt.dispatcher"
)
def
period_update
(
self
):
def
period_update
(
self
):
"""
"""
...
@@ -69,8 +70,7 @@ class Dispatcher:
...
@@ -69,8 +70,7 @@ class Dispatcher:
"""
"""
for
group
in
self
.
group_list
:
for
group
in
self
.
group_list
:
truck_dispatch_plan_dict
=
group
.
group_dispatch
(
ExpectedTime
)
truck_dispatch_plan_dict
=
group
.
group_dispatch
(
ExpectedTime
)
print
(
"truck_dispatch_plan_dict"
)
self
.
logger
.
info
(
f
'调度分组: {group.group_id} {DispatchInfo.group_name[group.group_id]}'
)
print
(
truck_dispatch_plan_dict
)
self
.
submission
.
group_dispatch_to_redis
(
group
,
truck_dispatch_plan_dict
)
self
.
submission
.
group_dispatch_to_redis
(
group
,
truck_dispatch_plan_dict
)
...
@@ -112,7 +112,7 @@ class DispatchSubmission:
...
@@ -112,7 +112,7 @@ class DispatchSubmission:
session_mysql
.
query
(
DispatchSetting
)
session_mysql
.
query
(
DispatchSetting
)
.
filter_by
(
.
filter_by
(
# exactor_id=dispatch_seq[0],
# exactor_id=dispatch_seq[0],
#
dump_id=dispatch_seq[1],
dump_id
=
dispatch_seq
[
1
],
truck_id
=
truck_id
,
truck_id
=
truck_id
,
group_id
=
group_id
,
group_id
=
group_id
,
isauto
=
1
,
isdeleted
=
0
,
)
.
first
())
isauto
=
1
,
isdeleted
=
0
,
)
.
first
())
...
@@ -148,7 +148,7 @@ class DispatchSubmission:
...
@@ -148,7 +148,7 @@ class DispatchSubmission:
item
=
(
item
=
(
session_mysql
.
query
(
DispatchSetting
)
session_mysql
.
query
(
DispatchSetting
)
.
filter_by
(
.
filter_by
(
#
exactor_id=dispatch_seq[0],
exactor_id
=
dispatch_seq
[
0
],
# dump_id=dispatch_seq[1],
# dump_id=dispatch_seq[1],
truck_id
=
truck_id
,
truck_id
=
truck_id
,
group_id
=
group_id
,
group_id
=
group_id
,
...
@@ -180,17 +180,13 @@ class DispatchSubmission:
...
@@ -180,17 +180,13 @@ class DispatchSubmission:
elif
task
==
-
2
:
elif
task
==
-
2
:
try
:
try
:
try
:
try
:
a
=
dispatch_seq
[
0
]
b
=
truck_id
item
=
(
item
=
(
session_mysql
.
query
(
DispatchSetting
)
session_mysql
.
query
(
DispatchSetting
)
.
filter_by
(
.
filter_by
(
#
exactor_id=dispatch_seq[0],
exactor_id
=
dispatch_seq
[
0
],
truck_id
=
truck_id
,
truck_id
=
truck_id
,
group_id
=
group_id
,
group_id
=
group_id
,
isauto
=
1
,
isdeleted
=
0
)
.
first
())
isauto
=
1
,
isdeleted
=
0
)
.
first
())
bb
=
item
.
id
if
item
is
None
:
if
item
is
None
:
raise
Exception
(
"调度计划表与实时监控不匹配"
)
raise
Exception
(
"调度计划表与实时监控不匹配"
)
...
@@ -208,23 +204,7 @@ class DispatchSubmission:
...
@@ -208,23 +204,7 @@ class DispatchSubmission:
# group_id=group_id,
# group_id=group_id,
isauto
=
1
,
isdeleted
=
0
)
.
first
())
isauto
=
1
,
isdeleted
=
0
)
.
first
())
# item = (
# session_mysql.query(DispatchEquipment.id, DispatchMatch.load_area_id, DispatchMatch.unload_area_id, DispatchMatch.dump_id, DispatchEquipment.isdeleted).
# join(DispatchEquipment, DispatchMatch.match_code == DispatchEquipment.match_code).
# filter(DispatchEquipment.equipment_id == truck_id,
# DispatchMatch.id == group_id
# ).first())
try
:
try
:
# record["exactorId"] = item.exactor_id
# record["dumpId"] = item.dump_id
# record["loadAreaId"] = item.load_area_id
# record["unloadAreaId"] = item.unload_area_id
# record["dispatchId"] = item.id
# record["isdeleted"] = False
# record["creator"] = item.creator
# record["createtime"] = item.createtime.strftime(
# "%b %d, %Y %I:%M:%S %p")
record
[
"id"
]
=
item
.
id
record
[
"id"
]
=
item
.
id
record
[
"exactorId"
]
=
dispatch_seq
[
0
]
record
[
"exactorId"
]
=
dispatch_seq
[
0
]
...
@@ -267,5 +247,10 @@ class DispatchSubmission:
...
@@ -267,5 +247,10 @@ class DispatchSubmission:
:return: None
:return: None
"""
"""
for
truck_id
,
dispatch_plan
in
dispatch_plan_dict
.
items
():
for
truck_id
,
dispatch_plan
in
dispatch_plan_dict
.
items
():
self
.
logger
.
info
(
f
'======================================= 调度车辆 ======================================='
)
self
.
logger
.
info
(
f
'矿车编号 {get_value("truck_uuid_to_name_dict")[truck_id]} {truck_id}'
)
self
.
logger
.
info
(
f
'配对挖机 {dispatch_plan[0]}'
)
self
.
logger
.
info
(
f
'配对卸点 {dispatch_plan[1]}'
)
self
.
truck_dispatch_to_redis
(
truck_id
,
dispatch_plan
)
self
.
truck_dispatch_to_redis
(
truck_id
,
dispatch_plan
)
self
.
logger
.
info
(
"======================================== 完成写入 ======================================="
)
core/group.py
View file @
39d4f4f7
...
@@ -94,10 +94,10 @@ class Group:
...
@@ -94,10 +94,10 @@ class Group:
# update device map
# update device map
# excavator_index = 0
# excavator_index = 0
for
i
in
range
(
len
(
self
.
excavator
)):
for
i
in
range
(
len
(
self
.
excavator
)):
self
.
excavator_uuid_index_dict
[
self
.
excavator
[
i
]]
=
i
self
.
excavator_uuid_index_dict
[
list
(
self
.
excavator
)
[
i
]]
=
i
for
i
in
range
(
len
(
self
.
dump
)):
for
i
in
range
(
len
(
self
.
dump
)):
self
.
dump_uuid_index_dict
[
self
.
dump
[
i
]]
=
i
self
.
dump_uuid_index_dict
[
list
(
self
.
dump
)
[
i
]]
=
i
for
i
in
range
(
len
(
self
.
truck_set
)):
for
i
in
range
(
len
(
self
.
truck_set
)):
self
.
truck_uuid_index_dict
[
list
(
self
.
truck_set
)[
i
]]
=
i
self
.
truck_uuid_index_dict
[
list
(
self
.
truck_set
)[
i
]]
=
i
...
...
data/dispatchInfo.py
View file @
39d4f4f7
...
@@ -327,7 +327,7 @@ class DispatchInfo:
...
@@ -327,7 +327,7 @@ class DispatchInfo:
cls
.
unload_distance
[
item
]
=
load_unload_distance
cls
.
unload_distance
[
item
]
=
load_unload_distance
except
Exception
as
es
:
except
Exception
as
es
:
logger
.
error
(
"路网距离更新异常"
)
logger
.
error
(
"路网距离更新异常
-调度部分和路网部分不一致
"
)
logger
.
error
(
es
)
logger
.
error
(
es
)
...
@@ -382,15 +382,15 @@ class DispatchInfo:
...
@@ -382,15 +382,15 @@ class DispatchInfo:
@classmethod
@classmethod
def
get_excavator
(
cls
,
group_id
):
def
get_excavator
(
cls
,
group_id
):
return
cls
.
group_excavator_dict
[
group_id
]
return
set
(
cls
.
group_excavator_dict
[
group_id
])
@classmethod
@classmethod
def
get_dump
(
cls
,
group_id
):
def
get_dump
(
cls
,
group_id
):
return
cls
.
group_dump_dict
[
group_id
]
return
set
(
cls
.
group_dump_dict
[
group_id
])
@classmethod
@classmethod
def
get_truck_set
(
cls
,
group_id
):
def
get_truck_set
(
cls
,
group_id
):
return
cls
.
group_truck_dict
[
group_id
]
return
set
(
cls
.
group_truck_dict
[
group_id
])
@classmethod
@classmethod
def
get_load_area
(
cls
,
excavator_id
):
def
get_load_area
(
cls
,
excavator_id
):
...
...
realtime_dispatch.py
View file @
39d4f4f7
...
@@ -62,7 +62,7 @@ def process(dispatcher):
...
@@ -62,7 +62,7 @@ def process(dispatcher):
# # 直接读取数据库写入redis
# # 直接读取数据库写入redis
# direct2redis()
# direct2redis()
#
try:
try
:
# 更新周期参数
# 更新周期参数
logger
.
info
(
"#####################################周期更新开始#####################################"
)
logger
.
info
(
"#####################################周期更新开始#####################################"
)
...
@@ -145,9 +145,9 @@ def process(dispatcher):
...
@@ -145,9 +145,9 @@ def process(dispatcher):
logger
.
info
(
"#####################################周期更新结束#####################################"
)
logger
.
info
(
"#####################################周期更新结束#####################################"
)
#
except Exception as es:
except
Exception
as
es
:
#
logger.error("最外层异常捕获")
logger
.
error
(
"最外层异常捕获"
)
#
logger.error(es)
logger
.
error
(
es
)
def
perform
(
inc
,
dispatcher
):
def
perform
(
inc
,
dispatcher
):
...
...
settings.py
View file @
39d4f4f7
...
@@ -60,15 +60,15 @@ def set_log():
...
@@ -60,15 +60,15 @@ def set_log():
# 创建日志目录
# 创建日志目录
#
if not os.path.exists(log_path):
if
not
os
.
path
.
exists
(
log_path
):
#
os.mkdir(log_path)
os
.
mkdir
(
log_path
)
# logging初始化工作
# logging初始化工作
logging
.
basicConfig
()
logging
.
basicConfig
()
# timefilehandler = logging.handlers.TimedRotatingFileHandler(log_path + "/dispatch.log", when='M', interval=1, backupCount=60)
# timefilehandler = logging.handlers.TimedRotatingFileHandler(log_path + "/dispatch.log", when='M', interval=1, backupCount=60)
#
filehandler = logging.handlers.RotatingFileHandler(log_path + "/dispatch.log", maxBytes=3*1024*1024, backupCount=10, encoding="utf-8")
filehandler
=
logging
.
handlers
.
RotatingFileHandler
(
log_path
+
"/dispatch.log"
,
maxBytes
=
3
*
1024
*
1024
,
backupCount
=
10
,
encoding
=
"utf-8"
)
filehandler
=
logging
.
handlers
.
RotatingFileHandler
(
"./Logs/dispatch.log"
,
maxBytes
=
3
*
1024
*
1024
,
backupCount
=
10
,
encoding
=
"utf-8"
)
#
filehandler = logging.handlers.RotatingFileHandler("./Logs/dispatch.log", maxBytes=3 * 1024 * 1024, backupCount=10, encoding="utf-8")
# 设置后缀名称,跟strftime的格式一样
# 设置后缀名称,跟strftime的格式一样
filehandler
.
suffix
=
"
%
Y-
%
m-
%
d_
%
H-
%
M.log"
filehandler
.
suffix
=
"
%
Y-
%
m-
%
d_
%
H-
%
M.log"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment