Files
MemRelay/projects/8e229c96-a83b-4a02-ac40-10a0a9da444e/异步楼宇查询完成并验证即时单线程写入.md
T

1.7 KiB

title, type, permalink, stable_id, scope, project_id, memory_type, status, revision, restored_from_commit, created_at, updated_at, tags
title type permalink stable_id scope project_id memory_type status revision restored_from_commit created_at updated_at tags
异步楼宇查询完成并验证即时单线程写入 fact main/projects/8e229c96-a83b-4a02-ac40-10a0a9da444e/异步楼宇查询完成并验证即时单线程写入 b9737736-3f60-4325-8504-bc30e06e5c21 project 8e229c96-a83b-4a02-ac40-10a0a9da444e fact active 1 6a6a895eaf 2026-09-23T15:02:00.042129+00:00 2026-09-23T15:02:00.042185+00:00
asyncio
aiohttp
csv
validation

GetNRBuildingsData.py已改aiohttp异步ClientSession连接池,CONCURRENCY=8(固定worker数),有界结果队列容量为2倍协程数;单独ThreadPoolExecutor(max_workers=1)拥有CSV句柄,每个结果写入并flush,不再全查完再导出。properties字段扩展由该线程通过临时CSV原子替换完成,保留旧行,按返回顺序写入不保证输入顺序。写入失败会取消worker,认证失败/中断停止领取新坐标,已领取结果写完。保留用户本地LIMIT=1000及URL/Cookies默认值,不修改main.py。新依赖独立requirements-nr-buildings.txt锁定aiohttp==3.14.3,已安装在项目.venv。4个本地异步测试通过,验证并发上限、慢请求未结束时输出可读、同一写线程、动态表头/多命中/空结果、不死锁、认证停止、Ctrl+C排空;真实仅查10条(前9条+JM443411),测得峰值8并发,7命中3未命中0失败。output/NRBuildingsData_async_test10.csv共10行43列,逐坐标/业务字段与前轮结果一致(不比较接口生成的要素ID)。默认凭证仅本地保留,Git/文件仓储应使用去除凭证的版本。