求助(附代码):rabbitmq:Exception (504) Reason: "channel/connection is not open"

JGbooks · · 252 次点击 · 开始浏览    置顶
这是测试生产者 **代码** ``` func Send(queueName string, msg interface{}) error { if ch == nil { if err := InitRabbitmq(Url); err != nil { log.Println(err) return err } } _, err := ch.QueueDeclarePassive(queueName, true, false, false, true, nil) if err != nil { q, err = ch.QueueDeclare(queueName, true, false, false, false, nil) if err != nil { log.Println(err) return err } } data, err := json.Marshal(msg) if err != nil { return err } count++ log.Println(q, count) err = ch.Publish(queueName, q.Name, false, false, amqp.Publishing{ ContentType: "application/json", Body: data, }) if err != nil { log.Println(err) return err } return nil } ``` ``` func InitRabbitmq(url string) error { var ( err error ) conn, err = amqp.Dial(url) if err != nil { log.Println("Failed to connect to RabbitMq") return err } ch, err = conn.Channel() if err != nil { defer conn.Close() log.Println("Failed to open a channel") return err } mqsync.Lock() defer mqsync.Unlock() q, err = ch.QueueDeclare("hello_world", true, false, false, false, nil) if err != nil { log.Println("Failed to declare queue:", err.Error()) return err } log.Println("rabbitmq init ok!") return nil } ``` ``` var Url = `amqp://guest:guest@0.0.0.0:5672/` func main(){ log.SetFlags(log.Lshortfile) err := InitRabbitmq(Url) if err != nil { log.Println(err) } go func(){ data :=map[string]interface{}{ "1":hello, } for { err := Send(data) if err != nil { log.Println(err) } time.Sleep(1 * time.Second) } } go func(){ data :=map[string]interface{}{ "2":world, } for { err := Send(data) if err != nil { log.Println(err) } time.Sleep(1 * time.Second) } } select {} } ``` **问题:** ![image.png](https://static.studygolang.com/190428/be8ecfc43c4152d4375aa87e087316cf.png) **错误信息** ![image.png](https://static.studygolang.com/190428/d282c528631991e34e0d8bc2032b866d.png) **分析** >测试发现不是消费者好着,通过再次启动此程序发现 询问还有其他问题影响吗?

入群交流(该群和以上内容无关):Go中文网 QQ交流群:731990104 或 加微信入微信群:274768166 备注:入群; 公众号:Go语言中文网

252 次点击  
加入收藏 微博
3 回复  |  直到 2019-04-28 21:34:28
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传