1+ ###################################### ASINCRONÍA ################################################
2+ import asyncio #Módulo para poder programar tareas recurrentes
3+
4+ #async def async_task(name: str, execution_time: int = 1):
5+ # """Tarea asíncrona que ejecuta un bloque de código durante un tiempo determinado"""
6+ # print(f"Esta tarea tendrá una duración de {execution_time} segundos")
7+ # print(f"Comenzando la tarea {name}...")
8+ # await asyncio.sleep(execution_time) #Pausa la ejecución durante el tiempo especificado
9+ # print(f"Tarea {name} finalizada.")
10+ #
11+ #asyncio.run(async_task("Formating SSD", 5))
12+
13+ ################################### EXTRA ##############################################################
14+ async def proccess_data (name : str , execution_time : int = 1 ):
15+ print (f"Inicio de ejecución de tarea { name } " )
16+ await asyncio .sleep (execution_time )
17+ print (f"Fin de ejecución de tarea { name } " )
18+
19+ # Ejecución asíncrona del módulo main
20+ async def main ():
21+
22+ # Ejecutamos varias tareas en paralelo
23+ await asyncio .gather (
24+ proccess_data ("Tarea C" , 3 ),
25+ proccess_data ("Tarea B" , 2 ),
26+ proccess_data ("Tarea A" , 1 ),
27+ )
28+
29+ # Ejecución última
30+ final_task = asyncio .create_task (proccess_data ("Tarea D" , 1 ))
31+ await final_task
32+
33+
34+ asyncio .run (main = main ())
35+ ################################### FIN EXTRA ##############################################################
36+ ###################################### FIN ASINCRONÍA ################################################
0 commit comments