| Новости | 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]
Отклонить обработку сообщение и вернуть его обратно в очередь