Name | simqsvr JSON |
Version |
0.1.3
JSON |
| download |
home_page | None |
Summary | SIMQ服务器。基于redis的消息队列,通过web接口提供对外服务。 |
upload_time | 2024-10-18 02:48:17 |
maintainer | Chen Han |
docs_url | None |
author | Chen Han |
requires_python | None |
license | Apache License, Version 2.0 |
keywords |
django
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# simqsvr
SIMQ服务器。基于redis的消息队列,通过web接口提供对外服务。
## 安装
```shell
pip install simqsvr
```
## 接口列表
接口地址 | 接口名称 |
-- | -- |
/simq/api/{channel}/rpush | 添加消息(高优先级) |
/simq/api/{channel}/lpush | 添加消息(低优先级) |
~~/simq/api/{channel}/dpush~~ | ~~添加延迟消息~~ |
/simq/api/{channel}/pop | 获取消息执行 |
/simq/api/{channel}/ack | 确认消息执行完成 |
/simq/api/{channel}/ret | 退还消息 |
/simq/api/{channel}/query | 查询消息详情 |
/simq/api/{channel}/cancel | 取消消息(仅限待处理状态) |
~~/simq/api/{channel}/delete~~ | ~~删除消息~~ |
## 配置项
- SIMQ_MQ_DEFAULT: 默认为default,即django-redis标准添加的CACHES实例名称。
- SIMQ_MQS: 允许按channel使用不同caches实例。
- SIMQ_ACK_EVENT_EXPIRE: 消息处理完成通知过期时间。默认为10分钟。
- SIMQ_DONE_ITEM_EXPIRE: 已处理消息和结果的保存时间。默认为7天。
- SIMQ_APIKEYS: apikey认证密钥。不设置密钥则表示无需认证。
- SIMQ_APIKEY_HEADER: apikey认证请求头名称。默认为apikey。
## 简易使用方法
```shell
# 创建数据库
manage-simqsvr migrate
# 创建超级用户
manage-simqsvr createsuperuser
# 启动服务
manage-simqsvr runserver 0.0.0.0:80 --noreload
```
- 创建数据库&创建超级用户,只是用来登录swagger接口管理界面。
- 如果不需要使用swagger接口管理功能,可以忽略上述两个步骤。
## 注意事项
- simqsvr目前仅支持基于redis的消息队列。
- 必须要按django-redis标准来配置CACHES配置项。如:
```python
# decode_responses=True是必须的
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0?decode_responses=True",
}
}
```
## 版本
### 0.1.0
- 版本首发。
### 0.1.3
- 完善容器打包支持。
- 修正swagger默认apikey认证header问题。
Raw data
{
"_id": null,
"home_page": null,
"name": "simqsvr",
"maintainer": "Chen Han",
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "django",
"author": "Chen Han",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/a7/b0/ad1ebb2c6068ec4c1268317918088b2371875a73bdc532dee2466f8a1a68/simqsvr-0.1.3.tar.gz",
"platform": null,
"description": "# simqsvr\r\n\r\nSIMQ\u670d\u52a1\u5668\u3002\u57fa\u4e8eredis\u7684\u6d88\u606f\u961f\u5217\uff0c\u901a\u8fc7web\u63a5\u53e3\u63d0\u4f9b\u5bf9\u5916\u670d\u52a1\u3002\r\n\r\n## \u5b89\u88c5\r\n\r\n```shell\r\npip install simqsvr\r\n```\r\n\r\n## \u63a5\u53e3\u5217\u8868\r\n\r\n\u63a5\u53e3\u5730\u5740 | \u63a5\u53e3\u540d\u79f0 |\r\n-- | -- |\r\n/simq/api/{channel}/rpush | \u6dfb\u52a0\u6d88\u606f\uff08\u9ad8\u4f18\u5148\u7ea7\uff09 |\r\n/simq/api/{channel}/lpush | \u6dfb\u52a0\u6d88\u606f\uff08\u4f4e\u4f18\u5148\u7ea7\uff09 |\r\n~~/simq/api/{channel}/dpush~~ | ~~\u6dfb\u52a0\u5ef6\u8fdf\u6d88\u606f~~ |\r\n/simq/api/{channel}/pop | \u83b7\u53d6\u6d88\u606f\u6267\u884c |\r\n/simq/api/{channel}/ack | \u786e\u8ba4\u6d88\u606f\u6267\u884c\u5b8c\u6210 |\r\n/simq/api/{channel}/ret | \u9000\u8fd8\u6d88\u606f |\r\n/simq/api/{channel}/query | \u67e5\u8be2\u6d88\u606f\u8be6\u60c5 |\r\n/simq/api/{channel}/cancel | \u53d6\u6d88\u6d88\u606f\uff08\u4ec5\u9650\u5f85\u5904\u7406\u72b6\u6001\uff09 |\r\n~~/simq/api/{channel}/delete~~ | ~~\u5220\u9664\u6d88\u606f~~ |\r\n\r\n## \u914d\u7f6e\u9879\r\n\r\n- SIMQ_MQ_DEFAULT: \u9ed8\u8ba4\u4e3adefault\uff0c\u5373django-redis\u6807\u51c6\u6dfb\u52a0\u7684CACHES\u5b9e\u4f8b\u540d\u79f0\u3002\r\n- SIMQ_MQS: \u5141\u8bb8\u6309channel\u4f7f\u7528\u4e0d\u540ccaches\u5b9e\u4f8b\u3002\r\n- SIMQ_ACK_EVENT_EXPIRE: \u6d88\u606f\u5904\u7406\u5b8c\u6210\u901a\u77e5\u8fc7\u671f\u65f6\u95f4\u3002\u9ed8\u8ba4\u4e3a10\u5206\u949f\u3002\r\n- SIMQ_DONE_ITEM_EXPIRE: \u5df2\u5904\u7406\u6d88\u606f\u548c\u7ed3\u679c\u7684\u4fdd\u5b58\u65f6\u95f4\u3002\u9ed8\u8ba4\u4e3a7\u5929\u3002\r\n- SIMQ_APIKEYS: apikey\u8ba4\u8bc1\u5bc6\u94a5\u3002\u4e0d\u8bbe\u7f6e\u5bc6\u94a5\u5219\u8868\u793a\u65e0\u9700\u8ba4\u8bc1\u3002\r\n- SIMQ_APIKEY_HEADER: apikey\u8ba4\u8bc1\u8bf7\u6c42\u5934\u540d\u79f0\u3002\u9ed8\u8ba4\u4e3aapikey\u3002\r\n\r\n## \u7b80\u6613\u4f7f\u7528\u65b9\u6cd5\r\n\r\n```shell\r\n# \u521b\u5efa\u6570\u636e\u5e93\r\nmanage-simqsvr migrate\r\n# \u521b\u5efa\u8d85\u7ea7\u7528\u6237\r\nmanage-simqsvr createsuperuser\r\n\r\n# \u542f\u52a8\u670d\u52a1\r\nmanage-simqsvr runserver 0.0.0.0:80 --noreload\r\n```\r\n\r\n- \u521b\u5efa\u6570\u636e\u5e93&\u521b\u5efa\u8d85\u7ea7\u7528\u6237\uff0c\u53ea\u662f\u7528\u6765\u767b\u5f55swagger\u63a5\u53e3\u7ba1\u7406\u754c\u9762\u3002\r\n- \u5982\u679c\u4e0d\u9700\u8981\u4f7f\u7528swagger\u63a5\u53e3\u7ba1\u7406\u529f\u80fd\uff0c\u53ef\u4ee5\u5ffd\u7565\u4e0a\u8ff0\u4e24\u4e2a\u6b65\u9aa4\u3002\r\n\r\n## \u6ce8\u610f\u4e8b\u9879\r\n\r\n- simqsvr\u76ee\u524d\u4ec5\u652f\u6301\u57fa\u4e8eredis\u7684\u6d88\u606f\u961f\u5217\u3002\r\n- \u5fc5\u987b\u8981\u6309django-redis\u6807\u51c6\u6765\u914d\u7f6eCACHES\u914d\u7f6e\u9879\u3002\u5982\uff1a\r\n ```python\r\n # decode_responses=True\u662f\u5fc5\u987b\u7684\r\n CACHES = {\r\n \"default\": {\r\n \"BACKEND\": \"django_redis.cache.RedisCache\",\r\n \"LOCATION\": \"redis://127.0.0.1:6379/0?decode_responses=True\",\r\n }\r\n }\r\n ```\r\n\r\n## \u7248\u672c\r\n\r\n### 0.1.0\r\n\r\n- \u7248\u672c\u9996\u53d1\u3002\r\n\r\n### 0.1.3\r\n\r\n- \u5b8c\u5584\u5bb9\u5668\u6253\u5305\u652f\u6301\u3002\r\n- \u4fee\u6b63swagger\u9ed8\u8ba4apikey\u8ba4\u8bc1header\u95ee\u9898\u3002\r\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "SIMQ\u670d\u52a1\u5668\u3002\u57fa\u4e8eredis\u7684\u6d88\u606f\u961f\u5217\uff0c\u901a\u8fc7web\u63a5\u53e3\u63d0\u4f9b\u5bf9\u5916\u670d\u52a1\u3002",
"version": "0.1.3",
"project_urls": null,
"split_keywords": [
"django"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "714ad848fdf2e19c966d4598506347199122aea7d2b5372381ad79093ffcdc33",
"md5": "3fbb15f77c66a4b5673224408ec6a1eb",
"sha256": "690221ad3965cf004228bc39c5ea247b663c6f1f568bd44ceeb3e5593cda4675"
},
"downloads": -1,
"filename": "simqsvr-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3fbb15f77c66a4b5673224408ec6a1eb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15552,
"upload_time": "2024-10-18T02:48:15",
"upload_time_iso_8601": "2024-10-18T02:48:15.745519Z",
"url": "https://files.pythonhosted.org/packages/71/4a/d848fdf2e19c966d4598506347199122aea7d2b5372381ad79093ffcdc33/simqsvr-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a7b0ad1ebb2c6068ec4c1268317918088b2371875a73bdc532dee2466f8a1a68",
"md5": "3661b56ea359dea66d8af18f844fd3d8",
"sha256": "7308cc5e7d6f99ceef7628b3a1171c3240c19942f7e526e3ed97a33cc67eb80f"
},
"downloads": -1,
"filename": "simqsvr-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "3661b56ea359dea66d8af18f844fd3d8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14627,
"upload_time": "2024-10-18T02:48:17",
"upload_time_iso_8601": "2024-10-18T02:48:17.610672Z",
"url": "https://files.pythonhosted.org/packages/a7/b0/ad1ebb2c6068ec4c1268317918088b2371875a73bdc532dee2466f8a1a68/simqsvr-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-18 02:48:17",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "simqsvr"
}