跳转到主要内容

aiohttp客户端与redis输入/输出队列

项目描述

安装

$ pip install aiohttp-rq

环境变量

变量 默认
AIOHTTP_RQ_DIR None
AIOHTTP_RQ_REQUEST_QUEUE aiohttp-rq-request
AIOHTTP_RQ_RESPONSE_QUEUE aiohttp-rq-response
AIOHTTP_RQ_EXCEPTION_QUEUE aiohttp-rq-exception

可选

变量 默认
AIOHTTP_RQ_LOG_CONFIG_FILE None
AIOHTTP_RQ_TTL_DNS_CACHE 10
REDIS_HOST localhost
REDIS_PORT 6379
REDIS_DB 0

功能

  • 日志记录
    • DEBUG, ERROR 级别的消息
    • logging.conf 支持
  • 请求: method,url, headers, data,allow_redirects, 自定义参数
  • 响应: url, status, headers,content_path, request_xxx 参数
  • 请求异常: url, exc_class, exc_message, request_xxx 参数

示例

$ export AIOHTTP_RQ_REQUEST_QUEUE="aiohttp-rq-request"
$ export AIOHTTP_RQ_RESPONSE_QUEUE="aiohttp-rq-response"
$ export AIOHTTP_RQ_EXCEPTION_QUEUE="aiohttp-rq-exception"
$ export AIOHTTP_RQ_TTL_DNS_CACHE=3600 # optional
$ python3 -m aiohttp_rq 50 # 50 workers

redis客户端

import redis

REDIS = redis.Redis(host='localhost', port=6379, db=0)

Redis推送

value=json.dumps(dict(
    url='https://domain.com',
    method="GET",
    headers=None,
    data=None,
    allow_redirects=True
))
REDIS.rpush('aiohttp-rq-request',*values)

Redis拉取

item_list = REDIS.lrange('aiohttp-rq-response',0,-1)
data_list = list(map(lambda i:i.encode('utf-8'),item_list))

item_list = REDIS.lrange('aiohttp-rq-exception',0,-1)
data_list = list(map(lambda i:i.encode('utf-8'),item_list))

项目详情


下载文件

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

源分发

aiohttp_rq-0.0.8.tar.gz (3.6 kB 查看散列)

上传时间:

由以下提供支持