channel(); $rabbit_channel->queue_declare($queue, false, true, false, false); $callback = function ($msg) use ($queue){ $date_time = date('Y-m-d H:i:s'); $data = $msg->body; // Log::info('MQ收到消息[其他订单打印]--->' . $data . '--->' . $date_time . "\n"); // // 如果是数字。则打印订单 // $is_log = false; // $curl_error = ''; // $data = json_decode($data, true); // $rand = 'cashier_order' . Random::build(); // $send_id = 'cashier_'. $data['shopId']; // // 收银机打印订单 // $snd_data = [ // 'msg' => '收银机其他打印', // 'type' => 'cashier', // 'operate_type' => 'other_print', // 'data_type' => 'other_print', // 'status' => 1, // 'method' => 'sendToUid', // 'send_num' => 0, // 'send_id' => $send_id, // 'msg_id' => $rand, // 'data' => $data // ]; // $snd_data_json = json_encode($snd_data); // Gateway::$registerAddress = '127.0.0.1:1238'; // $res = Gateway::sendToUid($send_id, $snd_data_json); // Log::info('订单打印推送结果-->' . $res); // $result = Redis::get($snd_data['send_id']); // if($result) { // $msg_id_arr = json_decode($result, true); // $msg_id_arr_c = count($msg_id_arr); // $msg_id_arr[$msg_id_arr_c] = $snd_data; // $result_n = json_encode($msg_id_arr); // Base::setredis_new($result_n, $snd_data['send_id']); // }else { // $params_arr_n[] = $snd_data; // Base::setredis_new(json_encode($params_arr_n), $snd_data['send_id']); // } // // if($is_log) { // Db::table('tb_mq_log')->insert([ // 'queue' => $queue, // 'msg' => $data, // 'type' => 'orderPrint', // 'plat' => 'Cashier', // 'create_time' => date('Y-m-d H:i:s'), // 'fail_time' => date('Y-m-d H:i:s'), // 'err_info' => $curl_error, // ]); // } $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); }; $rabbit_channel->basic_consume($queue, '', false, false, false, false, $callback); while ($rabbit_channel->is_consuming()) { Log::info('order.print.queue-MQ准备调用wait'); $rabbit_channel->wait(); } $rabbit_channel->close(); $connection->close(); }catch (Exception $exception) { Log::info('order.print.queue-MQ错误' . $exception->getMessage() . $exception->getTraceAsString()); }