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