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

OSCHINA-MIRROR/jackyzux-mWorkerService

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

Простой сервис Worker для обработки очередей сообщений


Асинхронный Worker-сервис, основанный на очереди сообщений Redis и реализованный с использованием Python. Это крайне простой и распределяемый асинхронный сервис для совместной обработки задач, полностью поддерживающий pypy.

Сценарии использования:


  • Неблокирующая асинхронная обработка задач в синхронных процессах. Например, отправка электронных писем, push-уведомлений, SMS с кодом подтверждения и т. д.
  • Распределённое планирование задач и совместная обработка однотипных задач на разных машинах.
  • Когда уже нет сил писать код...

Доступные сервисы:


  • JPUSH — сервис push-сообщений от компании «Цзи Пин» (Jingdong).
  • Baidu — сервис коротких сообщений от компании Baidu.

На самом деле всё, что нужно сделать, это написать Worker для конкретной задачи, и вы готовы к работе. Всё действительно просто, как никогда!

mService.py

Охраняет и обрабатывает Workers Многопроцессный mService.silent.sh — тихий режим (используется при управлении через Supervisor) mService.verbose.sh — подробный режим (используется для отладки)


scheduler.py

Тестирование добавления данных в Worker TaskServer зависит от этой программы


TaskServer.py

Запускает HTTP-сервер для приёма задач от внешних программ и добавления их в очередь Worker По умолчанию работает на http://127.0.0.1:5000 Для внешнего использования рекомендуется использовать nginx в качестве обратного прокси


Прочее

task/scheduler  Task Enqueue  (для scheduler, TaskServer)
task/worker     Task Worker   (для mService)

tool/clean.py              Отладка: очистка файлов pyo, pyc, log
tool/check.py              Проверка кода, есть сторонние библиотеки, в основном бесполезные
tool/requires_install.sh   Автоматическая установка зависимостей библиотек Python
tool/redis_clean.sh        Ubuntu: принудительная очистка данных redis. Просто удалите dump.rdb и перезапустите

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

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

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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