python - python函数如何调用并且不等待它完成处理,同时该函数必须调用一次。所以,线程必须停止
问题描述
我正在使用一个脚本来处理 ws 请求并将它们作为 json 响应。如何同时将这些信息插入/更新到数据库。但我不想等待 DB。我应该尽快回复。我在 python 中使用“瓶子”来做到这一点。我怎样才能找到解决方案。
解决方案
我找到了答案 asyncio。但是它在python3上工作。这是我到达的网站。他们在那里有很好的解释。 https://medium.freecodecamp.org/a-guide-to-asynchronous-programming-in-python-with-asyncio-232e2afa44f6
这是他们资源中的一个例子。
import asyncio
import time
from datetime import datetime
async def custom_sleep():
print('SLEEP', datetime.now())
time.sleep(1)
async def factorial(name, number):
f = 1
for i in range(2, number+1):
print('Task {}: Compute factorial({})'.format(name, i))
await custom_sleep()
f *= i
print('Task {}: factorial({}) is {}\n'.format(name, number, f))
start = time.time()
loop = asyncio.get_event_loop()
tasks = [
asyncio.ensure_future(factorial("A", 3)),
asyncio.ensure_future(factorial("B", 4)),
]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
end = time.time()
print("Total time: {}".format(end - start))
推荐阅读
- c# - TcpListener backlog concept misunderstanding
- speech-recognition - 在语音转文本中设置置信度阈值 [Watson]
- php - Plesk 更新后,PHP 7.1x MSSQL 连接失败并在 SQL_HANDLE_ENV 上出现 SQLAllocHandle
- javascript - Redux 操作使“on”套接字事件加倍
- php - Send MULTIPLE Attachments from Input on Form via PHPMailer
- java - How to split string but keep delimiters in java?
- c - 结构内的释放 char**
- c# - .net core data annotation display Name - inherite to viewmodels
- scala - Spark dataframe cast column for Kudu compatibility
- pentaho-data-integration - In Pentaho Data Integration can I output conditionally?