代码拉取完成,页面将自动刷新
// ezmq: An easy golang amqp client.
// Copyright (C) 2022 super9du
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; If not, see <https://www.gnu.org/licenses/>.
package ezmq
import (
"context"
"ezmq/logger"
"log"
)
var defaultURL = "amqp://guest:guest@localhost:5672/"
func init() {
log.Println("init test...")
logger.SetLevel("debug")
c, err := Dial(defaultURL, DefaultTimesRetry())
onErr(err)
defer c.Close()
ch, err := c.Channel()
onErr(err)
// declare queue
_, err = ch.QueueDeclare("queue.direct", true, false, false, false, nil)
onErr(err)
err = ch.QueueBind("queue.direct", "key.direct", "amq.direct", false, nil)
onErr(err)
}
// ---- utils ----
func onErr(err error) {
if err != nil {
log.Fatal(err)
}
}
func getConnection() *Connection {
c, err := Dial(defaultURL, DefaultTimesRetry())
onErr(err)
return c
}
func getChannel() (*Channel, *Connection) {
var err error
conn := getConnection()
channel, err := conn.Channel()
onErr(err)
return channel, conn
}
func getChannelWithContext() (*Channel, context.CancelFunc, *Connection) {
var err error
ctx, cancel := context.WithCancel(context.Background())
conn, err := Dial(defaultURL, DefaultCtxRetry(ctx))
onErr(err)
channel, err := conn.Channel()
onErr(err)
return channel, cancel, conn
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。