@AnderZero

Вызов async функции через threading.Timer()?

Помогите с питоном)

Как вызвать async функцию через Timer?

from threading import Timer
async def send():
      #тут код
t = Timer(5.0,send)
t.start()

Выдает ошибку: coroutine will never be awaited
  • Вопрос задан
  • 2493 просмотра
Решения вопроса 1
sanya84
@sanya84
Фанатик Python 3
На сколько мне известно Timer позволяет запустить функцию через некоторое время
Это вы можете сделать так
# Python 3.7+
import asyncio

async def hello_world():
    await asyncio.sleep(3)
    print('Hello World!')

asyncio.run(hello_world())


Либо так

from threading import Timer

def hello_world():
    print('Hello World!')

timer = Timer(3, hello_world)
timer.start()
timer.join()


Вот так тогда
# Python 3.7+
import asyncio
from threading import Timer

async def hello_world():
    await asyncio.sleep(3)
    print('Hello World!')

def wait():
    asyncio.run(hello_world())

timer = Timer(3, wait)
timer.start()
timer.join()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы