ASP.NET Core - Ejecutar y Olvidar - Correr Código Asíncrono y no Esperarlo - Sin Librerías

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ธ.ค. 2024

ความคิดเห็น • 53

  • @carlosgabrieldesiderio756
    @carlosgabrieldesiderio756 2 ปีที่แล้ว +1

    Ninguno de tus videos tiene desperdicio. Sos un genio, siempre conciso y claro con los ejemplos. Gracias por compartirnos tu gran capacidad!!

  • @wilsonlancheros
    @wilsonlancheros 2 ปีที่แล้ว

    En serio que sus videos sonde mucha ayuda, muchas gracias por compartir su conocimiento

  • @luisfernandodeolazabalsche3317
    @luisfernandodeolazabalsche3317 2 ปีที่แล้ว

    Felipe, cada ves me asombra los conocimientos que nos das en .Net, Muchas gracias.

  • @hectorluiscontrerasdigirol7540
    @hectorluiscontrerasdigirol7540 2 ปีที่แล้ว

    el gran gavilan reduciendo mis horas de lectura dandole solucion a los problemas que necesito en el momento que los necesito! like 140 para Hector... Gracias Profesor!

  • @GabrielGonzalez-kd9hf
    @GabrielGonzalez-kd9hf 2 ปีที่แล้ว

    Excelente maestro.. simple y conciso ...

  • @jseh_
    @jseh_ 2 ปีที่แล้ว +1

    y para dejar en el background operaciones CPU intensivas que se podria utilizar?

  • @israelfernandez6161
    @israelfernandez6161 2 ปีที่แล้ว

    Super bien explicado.... Muy útil
    Saludos y gracias

  • @FB-eb6tx
    @FB-eb6tx 2 ปีที่แล้ว

    Excelente como siempre gracias por estos aportes y los cursos, seguí así! Saludos desde Argentina!

  • @wineloy
    @wineloy 2 ปีที่แล้ว

    Justo esto me salvara el trabajo y aparte se vera mas pro 😎 excelente video!

  • @jorge-garces
    @jorge-garces 2 ปีที่แล้ว +1

    Excelente Felipe, muchas gracias, yo lo hacía quitando el await 😅, pero ahora a corregir y hacerlo como es y a investigar lo del hanfire. Saludos!

  • @norbertodanielrojas7819
    @norbertodanielrojas7819 2 ปีที่แล้ว

    Excelente, super util, muchas gracias!

  • @diegodagostino4837
    @diegodagostino4837 2 ปีที่แล้ว

    Excelente contenido, espero con ansias el de Hangfire. Saludos desde Argentina

  • @MIGUELRONDA
    @MIGUELRONDA 2 ปีที่แล้ว

    Muy bueno, si señor. Muchas gracias. Saludos

  • @OscarArleySanchez
    @OscarArleySanchez 2 ปีที่แล้ว

    Exelente explicación, muy buen material, hanfire lo conocí hace un tiempo y es increíble ayuda muchísimo y su implementación es muy fácil.

  • @ErickOrlando
    @ErickOrlando 2 ปีที่แล้ว

    Que buen material!!!! Definitivamente con este video te ganaste mi suscripción 😎👨🏽‍💻

  • @Santiago-er2ml
    @Santiago-er2ml 2 ปีที่แล้ว

    Gracias, buen video, hangfire ayuda mucho para los q no lo conozcan.

  • @jasontiw
    @jasontiw 2 ปีที่แล้ว

    muy buen video , creo que seria mejor aplicar un patron cqrs o un background service net core

  • @franciscoblanco7638
    @franciscoblanco7638 2 ปีที่แล้ว +1

    Buen dia maestro, tengo una pregunta, para un proceso que pueda durar +20 min cree que sea conveniente utilizar esta solución? o que otro tipo de solución me podria recomendar?
    Ya que tengo un proceso que dura tiempo, y lo quiero lanzar desde un endpoint con webapi que se ejecute y se quede ejecutando hasta que termine.
    Espero pueda ver mi pregunta.
    Gracias

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว +2

      Buenas, la preocupación mía sería que el servidor sea reiniciado en ese tiempo, o que ocupe muchos recursos lo que impida la resolución de peticiones http (quizás no aplica si es un servidor que no se usa tanto). Una opción podría ser "registrar" el proceso a través del endpoint, y tener un sistema aparte que lo procese (como una app de consola que se ejecute permanentemente), o a lo mejor convenga usar serverless. Puedes experimentar a ver qué te conviene más en términos prácticos y de costos. Saludos

  • @ExeDiaz621
    @ExeDiaz621 2 ปีที่แล้ว

    ¡Buen material! y muchas gracias por cambiar al tema oscuro xD

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      Solo tenían que pedirlo 💪

  • @thelastgamer6698
    @thelastgamer6698 2 ปีที่แล้ว

    Tengo una duda conforme a crear varios hilos para cada inserción, que pasa si hay inserciones masivas, no crearía un problema estár creando un hilo y contexto de la db por cada inserción?

  • @iorusoul
    @iorusoul 2 ปีที่แล้ว +1

    Excelente, ahora un vídeo de usar headers para tokens de autorización con el swagger xD

  • @felipealvarez4442
    @felipealvarez4442 2 ปีที่แล้ว

    Hola Felipe, he probado este mecanismo pero al usar el dependecy injection con el context, si la llamada termina, el context queda disposeado y el "código" que toma esa línea aparte en otro hilo reclama que al usar el context ya fue liberado y queda null. No hay forma de garantizar que en el otro codigo, usando inyección de dependencias, se pueda seguir usando el context ?

  • @Dfedericovera
    @Dfedericovera 2 ปีที่แล้ว

    Gracias!

  • @miguellozada8850
    @miguellozada8850 2 ปีที่แล้ว

    Muy bueno profesor gracias
    como veo la consola en un proyecto webApi?.

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      En .net 6 es una ventana que sale al ejecutar la app.

  • @wilsonmori949
    @wilsonmori949 ปีที่แล้ว

    que pasa con procesos largos que estas fuera del tiempo de session de la pagina, es decir si mi sesion es de maximo 20 min, y dejo correr el proceso por mas de una hora funcionara? porque estoy teniendo problemas con procesos bastante largos de mas de 1 hora, que podria estar pasando? Muchas gracias por compartir tu conocimiento exelentes tus videos.

    • @gavilanch2
      @gavilanch2  ปีที่แล้ว

      Para esos casos yo usaría otra solución, como hangfire, IHostedService, o incluso algo serverless, como Azure Functions.

  •  2 ปีที่แล้ว

    Siempre aprendo cosas nuevas contigo. Muchas gracias ¿Puedes decirme en qué curso está este contenido?

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว +1

      No lo tengo en ningún curso por el momento, es un tutorial que surgió de una pregunta que me hizo un estudiante.

  • @hector9079
    @hector9079 2 ปีที่แล้ว

    Muy bueno

  • @CarlosRodriguez666
    @CarlosRodriguez666 2 ปีที่แล้ว

    Hola Felipe,
    Muchas gracias por compartir.
    En que casos de la vida real sería más adecuado aplicarlo?

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว +1

      Buenas, Carlos, el de auditoría es un caso típico, también si necesitas enviar un email el cual no deseas esperar. Típicamente procesos simples.

  • @PeterSoftify
    @PeterSoftify 2 ปีที่แล้ว

    Avanzado!!!

  • @stanleyfeliz1498
    @stanleyfeliz1498 2 ปีที่แล้ว

    Muy buen vídeo, cómo el contex.add() sabe cuándo debe agregar una persona o un log ? Es algo nuevo ?. Antes era context.persona.add()

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว +1

      Realmente desde hace un tiempo se puede simplemente decir context.Add y EF Core sabe a cual tabla enviar el registro según el tipo de dato del objeto que le pases.

  • @rickytm
    @rickytm 2 ปีที่แล้ว

    Hola Felipe!
    Harás algun tutorial en udemy usando gRPC y dotnet core? Vi el que tienes el youtube y me gustaría que abordaras el tema más a fondo y con aplicaciones más robustas.
    Me gusta mucho la forma que tienes de enseñar y te deseo mucho éxito.
    Saludos desde MTY

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      Espero en el futuro tener uno. Saludos!

  • @christopherbaltazarmontene6083
    @christopherbaltazarmontene6083 ปีที่แล้ว

    buenazo

  • @Nick-Gaming7-x2b
    @Nick-Gaming7-x2b 2 ปีที่แล้ว

    pero con esto no se estaria enviando una respuesta falsa al usuario en caso dado de que ocurrira algun error al insertar??

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      Es que típicamente estamos hablando de acciones colaterales. Como auditar un registro. Ya la operación principal fue realizada con éxito.

  • @gabrielnarandp
    @gabrielnarandp 2 ปีที่แล้ว

    Esto me ayuda de bastante no sabía cómo optimizar las búsquedas o ingresos, 🤨 pero vale hacer esto con linq? Para que no se cargue tanto la memoria?

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      Tienes que hacer pruebas de rendimiento a ver si el uso extra de memoria es grande o insignificante en tu contexto. No hay que sacrificar legibilidad del código para una optimización que nadie necesita. Por eso medir es el primer paso a ver si se justifica lo que propones. Saludos

    • @gabrielnarandp
      @gabrielnarandp 2 ปีที่แล้ว

      @@gavilanch2 entonces como hago para cargar mas de 500.000 registros? sin que se demore 4 minutos sino solo hasta 20 segundos, o hay forma de hacer cargas paulatinas?

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      @@gabrielnarandp cuando dices cargar, te refieres a hacer inserts? o dices un select?

    • @gabrielnarandp
      @gabrielnarandp 2 ปีที่แล้ว

      @@gavilanch2 me refiero a traer de la consulta digamos 1 millon de registros, a la vez sin sobrecargar la memoria del navegador y del computador

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว +1

      @@gabrielnarandp El millon de registros que quieres cargar tiene que estar en algun lugar. No puedes cargarlos y no tenerlos en memoria. Lo normal es paginar. 1 millon de registros es abrumador, usualmente lo que se hace es un reporte con un resumen de los datos.

  • @GilbertoTrujillo
    @GilbertoTrujillo 2 ปีที่แล้ว

    @gavilanch2 gracias por tu codigo compartido, pero tengo el siguiente inconveniente al ejecutar tu ejemplo la primera vez funciona, al volverlo ejecutar me sale Cannot access a disposed object. Object name: 'IServiceProvider'. estoy progrmando en NET 6

    • @gavilanch2
      @gavilanch2  2 ปีที่แล้ว

      Mira el sigte video que trata acerca de hangfire. Con ese no te debe de dar ningún error

    • @evlofhgfdhdf
      @evlofhgfdhdf ปีที่แล้ว

      Hola Gilberto, lo solucionaste? Tengo el mismo error, en la clase hay varios métodos que se ejecutan en background, pero si ejecuto alguno luego el otro dice lo mismo: Cannot access a disposed object. Object name: 'IServiceProvider'.

  • @williamprogramer4168
    @williamprogramer4168 2 ปีที่แล้ว

    ⭐⭐⭐⭐⭐