import asyncio
timer = {"Tarefa1": 3,
"Tarefa2": 5,
"Tarefa3": 7}
status1 = ""
status2 = ""
status3 = ""
async def tarefa(numero):
global status1, status2, status3
if numero == 1:
await asyncio.sleep(timer["Tarefa1"])
status1 = "Finalizado"
print ("Tarefa 1 finalizada!")
elif numero == 2:
await asyncio.sleep(timer["Tarefa2"])
status2 = "Finalizado"
print ("Tarefa 2 finalizada!")
elif numero == 3:
await asyncio.sleep(timer["Tarefa3"])
status3 = "Finalizado"
print ("Tarefa 3 finalizada!")
async def monitor():
global status1, status2, status3
status1 = "Em andamento"
status2 = "Em andamento"
status3 = "Em andamento"
while status1 == "Em andamento" or status2 == "Em andamento" or status3 == "Em andamento":
print (status1, status2, status3)
await asyncio.sleep(1)
async def main():
await asyncio.gather(tarefa(1),
tarefa(2),
tarefa(3),
monitor())
asyncio.run(main())