[agent-go] 初步完成Executor部分的代码

This commit is contained in:
zeaslity
2023-03-24 15:09:22 +08:00
parent fe8a4a03fc
commit 1af25d3992
9 changed files with 328 additions and 31 deletions

View File

@@ -0,0 +1,46 @@
package rabbitmq
import (
"agent-go/g"
"fmt"
"github.com/streadway/amqp"
)
// Send 向RabbitMQ中发送消息
func Send(conn *RabbitMQConn, connProp *ConnectProperty, message []byte) {
// 往哪里发
channel := conn.Channel
// 发送
channel.Publish(
connProp.ExchangeName,
connProp.TopicKey,
false,
true,
amqp.Publishing{
ContentType: "text/plain",
Body: message,
},
)
}
func Read(conn *RabbitMQConn, connProp *ConnectProperty, autoAck bool) <-chan amqp.Delivery {
// 拿到特定的Channel
channel := conn.Channel
// 开始读取队列中的全部消息
msgs, err := channel.Consume(
connProp.QueueName, // 队列名称
g.G.AgentServerInfo.AgentTopicName, // 消费者名称
autoAck, // auto-ack
false, // exclusive
false, // no-local
false, // no-wait
nil, // arguments
)
if err != nil {
log.Error(fmt.Sprintf("Failed to register a consumer: %v", err))
}
return msgs
}