Skip to main content

mercury-py (Mercury for Python) 是一个基于 Python 的微服务,允许管理预定的通知发送。

项目描述

汞释放

水星标志

GitHub 发布(按日期最新) 派皮 PyPI - 状态

PyPI - Python 版本 PyPI - 实现

GitHub 许可证

GitHub 问题

汞py

mercury-py ( Mercury for Python ) 是一个基于 Python 的微服务,允许管理预定通知的发送。

介绍

该项目由一个基于 Flask 的 RESTful Web API组成,通过它可以管理通知的调度。

SQLite数据库在内部使用。

MongoDB数据库用于存储预定通知。

通知的发送由基于 Celery 的子模块管理:

  • 一种芹菜节拍,可作为工人的激活剂。
  • 每个通知类别都有一个Celery Worker,负责管理特定类型的调度。

RabbitMQ消息代理用于进程间通信。

通知类别

当前可以发送的通知类别有:

  • 电子邮件。

将实施类别:

  • 短信;
  • 推送通知 - Firebase 云消息传递( FCM );
  • 电报消息。

设置说明

在做了

要下载水星,要么分叉这个GitHub仓库,要么通过pip从PyPI下载它:

pip install mercury-py

安装依赖项

水星需求:

  • MongoDB:从官方网站 ( https://www.mongodb.com/ ) 或从您的 Linux 发行版的官方存储库获取它,例如,在类似 Debian 的系统上:
sudo apt install mongodb
  • RabbitMQ:从官方网站 ( https://www.rabbitmq.com/ ) 或从您的 Linux 发行版的官方存储库获取它,例如,在类似 Debian 的系统上:
sudo apt install rabbitmq-server

之后,要使用 Mercury,我们需要创建一个RabbitMQ用户、一个虚拟主机并允许该用户访问该虚拟主机:

从终端输入(用适当的值替换下面的 [MYUSER] 和 [MYPASSWORD]):

sudo rabbitmqctl add_user [MYUSER] [MYPASSWORD]
sudo rabbitmqctl add_vhost mercury
sudo rabbitmqctl set_permissions -p mercury [MYUSER] ".*" ".*" ".*"

有关访问控制的更多信息,请参阅RabbitMQ 管理员指南( http://www.rabbitmq.com/admin-guide.html#access-control )。

配置

将文件config-*.py复制并粘贴到文件夹configs中, 并根据需要进行修改

配置密钥

SECRET_KEY 应该在生产中更改为一些随机字节。

您可以使用以下命令输出随机密钥:

$ python -c 'import os; print(os.urandom(16))'

然后将返回值放入您的config.py中。

注意Windows系统

Windows系统上,必须安装额外的依赖项才能使基于 Celery 的子模块正常运行。

通过pipPyPI下载并安装Gevent

pip install gevent

并从终端运行(Celery BeatCelery Workers ):

beat --app=mercury.app.celery --logfile=instance/logs/celerybeat.log --loglevel=DEBUG --pidfile=instance/celerybeat/celerybeat.pid --schedule=instance/celerybeat/celerybeat-schedule.db
worker --app=mercury.app.celery --logfile=instance/logs/celeryworker.log --loglevel=DEBUG --pool=gevent

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

汞-py-1.0.3.tar.gz (45.0 kB 查看哈希

已上传 source