生产订单优先级管理 后台实现

求助各位大大,以下方案是否可行
项目为SSM框架,Web界面可以下发生产订单任务,订单任务可以设置优先级,后台由Control层接收请求后,由任务管理业务层通过RabbitMq发送消息到生产系统,实现是通过优先级队列完成,后期由于新增需求,处于等待中的任务可以调整优先级,需要取出特定消息,修改它的优先级,没查找到RabbitMq相关API,决定在Control层接收请求后,不发送消息,而是把订单信息写到数据库中,设置定时任务查看生产系统是否由多余的运算资源,有就通过查询数据库表获取当前等待订单中优先级最高任务

自己操作并获取数据库的数据,方案没有问题啊

 建议使用redis缓存统一管理所有的订单任务,每一笔订单都有优先级,当前是否了已经领取,未领取的订单可以调整优先级,并通过rabbitMq通知生态产系统订单的有限即发生变化,让生产系统从redis中重新获取最新的订单优先级。
 使用redis可以保证数据的一致性,rabbitmq只通知数据集中哪些订单的优先级发生变化,这样实现可以使每一次的redis读取都是有意义的,同时redis缓存技术可以提升数据读取的速度,降低数据库压力,

首先rabbitmq是一个有优先级概念的队列,只需要给订单带上唯一标识,如果已发送未执行的订单优先级提高,只需要将该订单再发一次消息,客户端会先收到优先级高的。对应生产系统加订单唯一标识验证,忽略已执行的订单过滤已发送优先级较低的消息。这个思路应该可行,望采纳~

定时任务挂了有什么保护措施吗?需要重启项目吗?可不可以做成有保护线程的方案,比如zookeeper。

创建订单
订单录入->保存->生成订单记录
订单查询、订单的拆、并单
订单维护:修改、删除
订单查询:
选择或者输入查询条件,检索出操作员需要查看的数据集合,以列表形式显示信息
实现步骤:
操作员在设定的查询条件里选择或输入查询条件(订单号、起止时间)然后根据查询条件访问数据库,实现查询,并返回相关数据集合,以列表形式显示订单摘要信息,需要查看订单信息时,可选择订单明细。
订单维护:订单进行修改、删除等操作。
实现步骤:操作员在设定的查询条件里选择或输入查询条件,实现订单查询,然后选定订单,对订单发出修改、删除的指令,由数据库操作组件及相关软件实现。