由于erp系统需要跟仓库之前使用的库存统计数据一致,所以需要出入库单据同步。本来是想在数据库上建立一个触发器,只要有新增记录,便通过接口传入另一方。但是这样做的弊端就是,当服务器拓机时正有数据进行传输,那么这个时间段的数据,将获取不到。
所以启用了消息队列,即便服务器拓机,没有处理的数据仍会得到保留。
使用的是rabbitmq 安装的过程就不累述了,网上有很多教程。
利用消息队列去实现推送和获取内容,作为生产者,我们要将所要传输的数据,进行组装,然后放到我们约定好的队列当中,等待消费者去获取。
move_data = [] if platform.platform().find('Windows') == -1: #开发环境运用的是windows,在线下日常开发过程中没必要打开此队列 line = dict() line['erp_sell_order_num'] = sd.order_id.name line['erp_wh_code'] = sd.order_id.shipping_rule_id.warehouse_supplier.code line['erp_company_code'] = sd.company_id.id line['type'] = 'return' item_list = [] for icon in sd.line_out_ids: item = dict() item['sku'] = icon.goods_id.name item['qty'] = icon.goods_qty item['unit_