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的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05d6e791f7b068cbfac064df66ffd1b0e86f6c064a48e4c90ad6758413bb36f5 |
|
MD5 | 064af55a2c20b7fc4a21550fc7e28275 |
|
BLAKE2b-256 | 31f04cbf7eac69880d4d4e2514ee3cd66ded0f8e94d38f50922a27244d1df7b3 |