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

OSCHINA-MIRROR/callmee-dophon-mq

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

dophon-mq

Проект представляет собой:

Модуль очереди сообщений в рамках фреймворка dophon, включающий локальный и удалённый центры сообщений, а также декораторы для производства и потребления и внутренние операционные модули.

Есть вопросы? Пишите на ealohu@163.com.

  1. Это облегчённая очередь сообщений со средней пропускной способностью. Для высокочастотных и больших объёмов сообщений рекомендуется использовать более зрелые очереди (например, rocket-mq, kafuka и т. д.).
  2. Даже при использовании пула потоков для обработки сообщений происходит значительное потребление ресурсов процессора.
  3. В основе этой очереди лежит использование ввода-вывода для обеспечения сохранения сообщений (основное время задержки сообщений связано с задержкой чтения и записи в центре сообщений).
  4. Можно выбрать локальный или удалённый центр сообщений через конфигурацию.

Архитектура программного обеспечения

Описание архитектуры программного обеспечения.

Инструкция по установке

<<<<<<< HEAD

  1. pip install dophon_mq =======
pip install dophon-mq

e822369e3d8eac4b4bdbcaa2f1613c902a8c4815

Использование

1 Конфигурация

Пользовательская конфигурация:

<application.py>

msg_queue_max_num = 30   # Максимальное количество тем, которые может обрабатывать очередь сообщений

mq={
    'remote_center':True,   # Использовать удалённый центр сообщений
    # Если установлено значение false или не настроено, настройки словаря ниже будут недействительны
    'remote_address':'127.0.0.1',  # Адрес центра сообщений
    'remote_port':58800  # Порт центра сообщений
}

2 Конфигурация производителя

Рекомендуется передавать данные в формате JSON (это упрощает экранирование данных потребителями):

from dophon_mq import *

@producer(
    tag='DEMO_TAG', # Тема отправки сообщения
    delay = 3 # Задержка отправки сообщения (в секундах)
)
def producer():
    return 'aaa'

3 Конфигурация потребителя

Способ один:

from dophon_mq import *

@consumer(
    tag='DEMO_TAG', # Тема получения сообщения
    delay = 1, # Задержка получения сообщения
    arg_name = 'args' # Имя параметра, который будет использоваться для хранения сообщения (по умолчанию используется параметр с именем args) 
)
def consumer(args):
    print(args)
consumer()

4 Единое управление потребителями

from dophon_mq import *

class TestConsumer(ConsumerCenter):

    @consumer(tag='test_msg_tag|test_msg_tag2', delay=1, arg_name = 'msg')
    def consume_msg(
        msg  # Метод входа для унифицированной конфигурации потребителя, который заменяет параметр экземпляра (self) параметром для хранения сообщений
    ):
        print(msg)
        print(timestamp)
        print(tag)

# Создание экземпляра производного класса для запуска потребителя
TestConsumer()

#### Участие в проекте

1. Fork этого проекта.
2. Создайте ветку Feat_xxx.
3. Отправьте код.
4. Создайте запрос на слияние.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Модуль очереди сообщений в рамках Dophon включает локальный центр сообщений, удалённый центр сообщений, а также декораторы, связанные с производством и потреблением, и внутренний операционный модуль. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/callmee-dophon-mq.git
git@api.gitlife.ru:oschina-mirror/callmee-dophon-mq.git
oschina-mirror
callmee-dophon-mq
callmee-dophon-mq
master