1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tym_hmm-rabbitmq-pool-go

01.12.2024 22:59
GitLife Service Account

Исправление проблемы с очередью недоставленных сообщений в routekey

Решение проблемы невозможности разветвления потребления в теме после указания маршрута

Рекомендуемое соглашение: при наличии маршрута используйте "." для разделения слов, чтобы избежать проблем с универсальными маршрутами

Последнее сообщение коммита: 修复死信routekey问题
01.12.2024 22:59
GitLife Service Account

Включить сохранение по умолчанию для обмена, очереди и данных на диск

Последнее сообщение коммита: 增加默认数据都持久化到磁盘
01.12.2024 22:59
GitLife Service Account

Включить настройку виртуального хоста по умолчанию /

instanceConsumePool = kelleyRabbimqPool.NewConsumePool()
//Использовать путь виртуального хоста по умолчанию
err := instanceConsumePool.Connect("192.168.1.169", 5672, "admin", "admin")
//Использовать пользовательский путь виртуального хоста
err:=instanceConsumePool.ConnectVirtualHost("192.168.1.169", 5672, "admin", "admin", "/testHost")

Последнее сообщение коммита: 增加自定义虚拟host 设置 默认为/
01.12.2024 22:59
GitLife Service Account

Исправить известные проблемы

Последнее сообщение коммита: 修复已知for带来的问题
01.12.2024 22:59
GitLife Service Account

Увеличить автоматическое повторное подключение при разрыве соединения производителя

Последнее сообщение коммита: 增加生产者自动重连
01.12.2024 22:59
GitLife Service Account

Увеличить время случайной повторной попытки задачи потребителя с точностью до секунды
instanceConsumePool.SetRandomRetryTime(min int64, max int64)

Последнее сообщение коммита: 修改重试随机时间范围设置 默认为5000~15000重试发送任务
01.12.2024 22:59
GitLife Service Account

Увеличить повторную попытку в пользовательском обратном вызове события потребителя

/***

  • Описание параметров
  • @param data []byte Полученные данные rabbitmq
  • @param header map[string]interface{} Исходный заголовок rabbitmq
  • @param retryClient kelleyRabbimqPool.RetryClientInterface Интерфейс данных для повторных попыток, повторные попытки должны возвращать true, чтобы предотвратить повторную отправку данных
    ***/
    EventSuccess: func(data []byte, header map[string]interface{}, retryClient kelleyRabbimqPool.RetryClientInterface) bool {//Если возвращается true, повторная попытка не требуется
    fmt.Printf("data:%s\n", string(data))
    return true
    }
Последнее сообщение коммита: 增加成功回调时自定义重试客端
01.12.2024 22:59
GitLife Service Account

Добавить ручное подтверждение сообщения

Удалить ненужную информацию о выводе

&rabbitmq.ConsumeReceive{

Определить событие потребителя

ExchangeName: "testChange31",//Имя очереди
ExchangeType: kelleyRabbimqPool.EXCHANGE_TYPE_DIRECT,
Route: "",
QueueName: "testQueue31",
IsTry:true,//Повторная попытка
IsAutoAck: false, //Автоматическое подтверждение сообщения
MaxReTry: 5,//Максимальное количество повторных попыток
EventFail: func(code int, e error, data []byte) {
fmt.Printf("error:%s", e)
},
/***

  • Описание параметров
  • @chancelai data []byte Полученные данные rabbitmq
  • @chancelai header map[string]interface{} Исходный заголовок rabbitmq
  • @chancelai retryClient RabbitmqPool.RetryClientInterface Интерфейс данных для повторных попыток, повторные попытки должны возвращать true, чтобы предотвратить повторную отправку данных
    ***/
    EventSuccess: func(data []byte, header map[string]interface{},retryClient kelleyRabbimqPool.RetryClientInterface)bool {//Если возвращается true, повторная попытка не требуется
    _ = retryClient.Ack()//Подтвердить сообщение
    fmt.Printf("data:%s\n", string(data))
    return true
    },
Последнее сообщение коммита: 修改提示输出
1
https://api.gitlife.ru/oschina-mirror/tym_hmm-rabbitmq-pool-go.git
git@api.gitlife.ru:oschina-mirror/tym_hmm-rabbitmq-pool-go.git
oschina-mirror
tym_hmm-rabbitmq-pool-go
tym_hmm-rabbitmq-pool-go