Python async ValueError: Set of coroutines/Futures is empty.
报错是因为你的队列中任务创建为空导致的。请检查你的语法是否正确。
如果语法正确,请检查传入的参数是否传入成功,导致任务队列创建失败。
例如:
proxy_info = await mysql_obj.execute_edit_sql("SELECT * FROM `proxy`")
print("*"*100,proxy_info)
tasks_list = [asyncio.create_task(save_to_redis(redis_obj, d["sign"])) for d in proxy_info]
done, pending = await asyncio.wait(tasks_list)
语法是没有问题的。但是由于proxy_info获取的并不是字典结果。所以d["sign"]取不到值。导致tasks_list = []
然后await asyncio.wait(tasks_list) 等待的结果是个空任务列表。就报错了!
raise ValueError('Set of coroutines/Futures is empty.')
ValueError: Set of coroutines/Futures is empty.
需要通过.result()来获取真正的字典
proxy_info = proxy_info.result() print("*"*100,proxy_info)
检查代码吧。