| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 07.10 19:18 / 07.10 19:21
consume failed: a socket error occurred при отключении сети — ожидаемое поведение, и auto_reconnect здесь не поможет. Он восстанавливает соединение в начале следующего вызова метода объекта, а уже идущую прослушку не продолжает: при разрыве ^consume завершается исключением. $oAmqp[^amqp::create[ $.auto_reconnect(5) ]]
^while(1){
^try{
^oAmqp.qos[$.prefetch_count(1)] ^rem{qos каждый раз: после переподключения он сбрасывается}
^oAmqp.consume[
$.queue[links]
$.ack(true)
$.callback[$processTask]
]
}{
$exception.handled(true)
^log[consume error: $exception.comment]
}
} При разрыве consume бросит исключение, цикл его поймает, а следующий вызов подождёт 5 секунд из auto_reconnect, переподключится и подпишется заново. Если сеть ещё не вернулась, будет снова исключение и новая попытка через 5 секунд.