Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
sergei v.2 11.09 20:18
amqp $oAmqp[^amqp::create[ $.host[localhost] хост $.port(5672) порт $.user[user] username $.password[pass] пароль $.vhost[/] vhost $.login_method[AMQPLAIN|PLAIN|EXTERNAL] AMQPLAIN - поумолчанию $.login_response[] $.locale[en_US] локаль $.read_timeout(3000) таймаут для записи (ms) $.write_timeout(3000) таймаут для записи (ms) $.keepalive(false) $.insist(false) $.channel_rpc_timeout(0.0) $.tls[ $.ca[/etc/ssl/ca.crt] $.cert[/etc/ssl/app.crt] $.key[/etc/ssl/app.key] ] $.heartbeat(0) $.retry[ $.min_ms(500) $.max_ms(15000) $.factor(2.0) $.jitter(true) ] ]] Конструктор класса ^oAmqp.declare_exchange[ $.name[main], $.type[direct|topic|headers|fanout] тип биржи $.passive(false) если true, не объявляет очередь, а проверяет ее существование и выдает исключение если ее не существует, если false и очередь существует, ничего не делает $.durable(false) гарантирует сохранность определения биржи после перезапуска брокера $.auto_delete(true) автоудаление биржи $.nowait(false) если установлено true, сервер не будет отвечать на метод. Клиенту не следует ожидать ответа метода. ] Объявить биржу (Если серверу не удалось выполнить метод, он вызовет исключение канала или соединения) ^oAmqp.delete_exchange[ $.exchange[] название биржи $.if_unused(false) если true, то очередь удалится только если не используется $.nowait(false) если установлено true, сервер не будет отвечать на метод. Клиенту не следует ожидать ответа метода. ] Удалить биржу (Если серверу не удалось выполнить метод, он вызовет исключение канала или соединения) ^oAmqp.declare_queue[ $.queue[] если отставить пустой должно вернуть имя очереди $.exchange[] название биржи $.passive(false) если true не объявляет очередь, а проверяет ее существование и выдает исключение если ее не существует, если false и очередь существует, ничего не делает $.durable(false) гарантирует сохранность определения очереди после перезапуска брокера $.auto_delete(true) автоудаление очереди $.nowait(false) если установлено true, сервер не будет отвечать на метод. Клиенту не следует ожидать ответа метода. ] Объявить очередь (Если серверу не удалось выполнить метод, он вызовет исключение канала или соединения) ^oAmqp.delete_queue[ $.queue[] если отставить пустой должно вернуть имя очереди $.if_unused(false) если true, то очередь удалится только если не используется $.if_empty(false) если установлено true, очередь удалиться только если пуста $.nowait(false) если установлено true, сервер не будет отвечать на метод. Клиенту не следует ожидать ответа метода. ] Удалить очередь (Если серверу не удалось выполнить метод, он вызовет исключение канала или соединения) ^oAmqp.publish[ $.msg[msg] строка сообщения (возможно json-строка) $.properties[] hash - доп свойства для сообщения например можно установить заголовки или отложить выполнение сообщения $.exchange[] название биржи, если не указать, то надо указать queue, которая создастся для биржи по умолчанию $.queue[] название очереди, если отставить пустым должно опубликоваться на биржу $.mandatory(false) если true и сообщение никуда не попало, сообщение будет возвращено отправителю $.create_queue(true) если true, то объявит очередь, если ее нет $.create_exchange(true) если true, то объявит биржу, если ее нет ] Опубликовать сообщение ^oAmqp.publish[^array::create[ $.msg[msg] строка сообщения (возможно json-строка) $.properties[] hash - доп свойства для сообщения например можно установить заголовки или отложить выполнение сообщения $.exchange[] название биржи, если не указать, то надо указать queue, которая создастся для биржи по умолчанию $.queue[] название очереди, если отставить пустым должно опубликоваться на биржу $.mandatory(false) если true и сообщение никуда не попало, сообщение будет возвращено отправителю $.create_queue(true) если true, то объявит очередь, если ее нет $.create_exchange(true) если true, то объявит биржу, если ее нет ;...;... ]] Опубликовать несколько сообщений ^oAmqp.consume[ $.queue[] имя очереди $.consumer_tag[] идентификатор слушателя, если оставить пустым будет сгенерирован автоматический $.no_ack(false) если false, то при получении сообщение, оно будет сразу подвержено, если true, то сообщение будет считаться обработанным после явного подтверждения методом ack $.nowait(false) если установлено true, сервер не будет отвечать на метод. Клиенту не следует ожидать ответа метода $.callback[$my_callback_method] функция для обработки сообщений ] Слушать сообщение из очереди (Если серверу не удалось выполнить метод, он вызовет исключение канала или соединения) @my_callback_method[$h] $h.msg string - сообщение $h.delivery_tag string - тег доставки(используется для подтверждения сообщения) $h.consumer_tag string - идентификатор слушателя $h.exchange string - название биржи $h.queue string - название очереди $h.properties hash - доп свойства для сообщения например можно установить заголовки Пример функции, которая будет обрабатывать сообщения ^oAmqp.stop_consume[] Остановить прослушивание очереди ^oAmqp.ack[delivery_tag] Подтвердить обработку сообщение ^oAmqp.reject[delivery_tag] Отклонить обработку сообщение и вернуть его обратно в очередь