Files
ping-telegram-bot/text.py
2023-01-10 15:40:35 +02:00

55 lines
1.0 KiB
Python

import asyncio
import time
async def say_after(delay, what):
print(1)
await asyncio.sleep(delay)
print(what)
async def say_after2(delay, what):
print(2)
await asyncio.sleep(delay)
print(what)
async def say_after3(delay, what):
print(3)
await asyncio.sleep(delay)
print(what)
async def main():
l = []
await say_after3(3, "delay1")
task1 = asyncio.create_task(
say_after(1, 'hello'))
task2 = asyncio.create_task(
say_after2(2, 'world'))
l.append(task1)
l.append(task2)
task1.add_done_callback(l.remove)
task2.add_done_callback(l.remove)
await say_after3(3, "delay2")
print(f"started at {time.strftime('%X')}")
# Wait until both tasks are completed (should take
# around 2 seconds.)
# await task1
# await task2
while len(l) != 0:
print("wait...")
await asyncio.sleep(1)
print(f"finished at {time.strftime('%X')}")
if __name__ == "__main__":
asyncio.run(main())