Итак, я пытался запустить две функции одновременно, но одна, кажется, никогда не работает, пока я не остановлю другую. Первая функция предназначена для отправки электронного письма каждые 30 секунд (функция проверена сама по себе, и она работает), вторая - для печати простого оператора каждые 5 секунд. Итак, после каждых 6 заявлений "Hello Worlds", которые я вижу, я должен получать электронное письмо. Тем не менее, я никогда не получаю электронное письмо, если я не использую что-то в функции запуска, чтобы остановить его, например, «конец через 10 секунд». Я хочу sh, чтобы обе функции продолжались бесконечно (без сбоев, если это возможно). Любая помощь приветствуется.
async def timer():
now = time.time()
end = now + 30
#sendmail(name, filepath + "\\" + name, receiver)
while True:
if time.time() >= end:
sendmail(name, filepath + "\\" + name, receiver)
now = time.time()
end = now + 30
async def runs():
while True:
print("Hello World")
time.sleep(5)
loop = asyncio.get_event_loop()
loop.create_task(runs())
loop.create_task(timer())
loop.run_forever()
Также, если кто-нибудь сможет выполнить задачу с помощью модуля многопроцессорности или многопоточности, мне было бы интересно посмотреть, как это делается, поскольку я пытался и потерпел неудачу с обоими. образец того, что я пробовал:
t1 = threading.Thread(target=timer)
t2 = threading.Thread(target=runs)
t1.start()
t2.start()