Как вызывается функция python и не ждут, пока она закончит обработку, а эту функцию нужно вызвать один раз.Итак, нить должна быть остановлена - PullRequest
0 голосов
/ 06 июня 2018

Я использую скрипт, который обрабатывает запросы ws и отвечает на них как json.Однако в то же время эти данные должны быть вставлены / обновлены в БД.Но я не хочу ждать DB.Я должен вернуть ответ как можно скорее.Я использую «бутылку» в Python для этого.Как мне найти решение?

1 Ответ

0 голосов
/ 06 июня 2018

Я нашел ответ 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...