在新公司日常搬砖一段时间后,发现办公室所在大厦客梯调度比较坑爹,经常是比如已显示调度到A节点, 然而最终等来开门的是B节点,在上班高峰期就会造成尴尬的重新排队(被迫插队)...... 这里就自娱自乐,写了一个模拟电梯调度算法,实现基本的配置,查看实时运行状态,调度到最短到达的节点(根据剩余最少任务层数计算)等。 当然这并非最优解,您也可在此基础上做进一步优化。
git clone -b main https://github.com/wangxiaowu9527/lift.git
cd lift && pip3 install -r requirements.txt
cp conf.py.example conf.py
python3 agent_main.py
python3 main.py 主程序基本URL => http://localhost:5000
floor_id: int类型,必需参数,释义:所在电梯外部楼层号; direct: string类型且只能为"up"或"down",必需参数,释义:上或下; 入参示例 {"floor_id": 2, "direct": "up"}
node_name: string类型且只能在conf.py中配置的节点名称中(NODES.name),必需参数,释义:节点名称; floor_id: int类型,必需参数,释义:目的楼层号; 入参示例 {"node_name": "A", "floor_id": 5}