python - 如何发送请愿书多线程 Python / Django
问题描述
我正在使用 Django,我需要发送很多请求,有什么方法可以在多线程上发送它?这是我的代码。
def send_ws_info(serializer, id):
url = f'{settings.WS_URL}/notify/{id}'
token, created = Token.objects.get_or_create(user__id=id)
headers = {'Authorization': f'Token {token.key}'}
requests.post(url=url, json=serializer, headers=headers)
解决方案
你可以使用线程池执行器
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
ids = [
1,
2,
3,
]
def send_ws_info(serializer, id):
url = f'{settings.WS_URL}/notify/{id}'
token, created = Token.objects.get_or_create(user__id=id)
headers = {'Authorization': f'Token {token.key}'}
requests.post(url=url, json=serializer, headers=headers)
processes = []
with ThreadPoolExecutor(max_workers=10) as executor:
for id in ids :
processes.append(executor.submit(send_ws_info, serializer, id))
for task in as_completed(processes):
print(task.result())
推荐阅读
- set - 集合中的逻辑条件(GAMS) - 在pyomo中如何做到这一点?
- python - 使用初始化值计算一维数组中的其他值
- pdf - 如何直接从代码创建 PDF?
- arrays - 如何使用 Haskell inline-c 查看二维数组
- objective-c - SwiftUI:是否可以创建像更改亮度/音量或构建 xode 项目时出现的那样的 macOS HUD?
- python - 使用以逗号作为小数分隔符的 pandas 样式
- bash - Bash 脚本因路径名中的空格而失败
- jupyterbook - jupyterbook 未被识别为内部或外部命令
- python - 有没有一种 Pythonic 方法来获取与失败的 dict 或 pandas 行分配相关的键?
- reactjs - Yarn tsc 显示合并后不再存在的错误