parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

sergei v.2 09.09 00:24

Сделано, если не задан $.callback[] возвращается массив сообщений. Число сообщений задается через $.count(N), одно по умолчанию.
это хорошо!
Надо понимать, что если сообщений нет, amqp ждет их до timeout (по умолчанию 30 минут). Будет исключение (в отличии от варианта с callback, который завершается без ошибки).
Тут не очень понял. Если мы делаем ^oAMQP.consume[... $.callback[$processingMessage]] и если в очереди нет задач, оно отвалится через 30 минут? И надо будет снова подключаться для прослушивания? Я думал оно должно слушать пока электричество не кончится в розетке, потенциально до бесконечности.
А если делаем без callback и задач нет, то надо получить ответ !def и отключиться.
Пока не очень понятно, как все это будет использоваться. Хорошо бы было какое-нибудь реальное приложение, с которым можно "поиграться", а не просто мои тесты. Сейчас непонятно, как вести себя в пограничных ситуациях. Например в amqp после любой ошибки канал считается мёртвым. То есть и дальнейшие попытки работать с ним будут приводить к исключениям. Надо ли его переоткрывать? Но автоматически это делать странно, там же так понимаю надо переподписывать consumers...
Задачу тут https://www.parser.ru/forum/?id=87203 описал. Приложение можем написать и прислать поиграться.
Оно должно думаю пробовать автоматически переподключаться при разрыве канала связи. Если ловить исключения в парсерном скрипте, то их придется в 100% случаем писать каждый раз. Поэтому реконнекты лучше спрятать сразу под капот. Хотя если указать неправильный коннект, то оно будет долбиться в никуда (неправильный хост, закрытый порт) и будет непонятно, что есть проблема. Первый коннект и реконнект по сути одно и тоже - их мы наверное никак не отличим. Это ведь обычно запускается/перезапускается кроном и мы видим только в логах проблему, если она есть.