Sum*_*tty 4 api request python-3.x
嗨,我是 Python 开发的新手。
我必须在很短的时间内(最好是秒)进行多次推送。
目前我正在使用请求包的 post 方法将数据发布到 API 中。但是,默认情况下请求方法等待来自 API 的响应。
requests.post(url, json=data, headers=headers)
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以将数据以异步方式发布到 API 中?
谢谢
如果您对来自服务器的响应不感兴趣(即发即忘),那么您可以为此使用异步库。但我必须警告你,你不能混合同步和异步代码(实际上你可以但不值得处理)所以你的大部分代码必须改变。
另一种方法是使用线程,它们可以url单独调用等待响应而不会影响其余代码。
这样的事情会有所帮助:
def request_task(url, json, headers):
requests.post(url, json=data, headers=headers)
def fire_and_forget(url, json, headers):
threading.Thread(target=request_task, args=(url, json, headers)).start()
...
fire_and_forget(url, json=data, headers=headers)
Run Code Online (Sandbox Code Playgroud)
关于线程的简要信息
线程是独立的执行流程。多个线程并发运行,因此当一个线程启动时,它会与当前执行分开运行。启动一个线程后,您的程序只是继续执行下一条指令,而线程的指令也同时执行。有关更多信息,我推荐realpython 对线程的介绍。
| 归档时间: |
|
| 查看次数: |
6882 次 |
| 最近记录: |