‫-: En este video, haremos
‫una última configuración específica de Heroku que es
‫responder a una llamada "señal de
‫término enfermo" que Heroku emite de vez
‫en cuando.
‫Entonces, un dinamómetro de Heroku, y nuevamente
‫un dinamómetro es solo un nombre que Heroku usa
‫básicamente para un contenedor en el
‫que se está ejecutando
‫su aplicación, por lo que estos dynos se reinician cada 24
‫horas para mantener su aplicación en un estado saludable.
‫¿Okey? Y la forma
‫en que Heroku hace esto es enviando la llamada
‫"señal de término enfermo" a nuestra aplicación
‫de notas, y la aplicación básicamente se cerrará inmediatamente.
‫¿Está bien? Ahora, el problema con esto
‫es que el cierre puede ser muy abrupto.
‫Entonces, esto puede dejar las solicitudes que se
‫están procesando actualmente básicamente en
‫el aire, y
‫eso no es lo ideal.
‫Así que, básicamente, eso es lo que sucede
‫también cuando hay un rechazo incontrolado.
‫Entonces, aquí en nuestro servidor, dot
‫JS, recuerde cómo apagamos el servidor
‫con gracia cada vez que hubo un
‫rechazo no controlado. ¿Está bien?
‫Así que ahora
‫vamos a hacer algo muy similar cuando recibamos
‫la "señal de término enfermo". ¿Está bien? Así que digamos
‫procesar punto
‫en término enfermo, y básicamente, realmente el
‫término enfermo es solo un evento que
‫puede ser emitido y que nuestra aplicación recibe
‫y luego puede responder.
‫Tan exactamente como el rechazo incontrolado. ¿Derecha?
‫Ahora bien, aquí no tenemos un error,
‫así que hagamos un registro
‫de la consola aquí,
‫así como el término enfermo recibido.
‫Apagando
‫con gracia.
‫Y agreguemos algunos emoji aquí
‫solo para que se destaque en nuestra consola
‫entre todos estos registros que tenemos allí.
‫Muy bien, y ahora
‫hagamos el cierre ordenado, que básicamente
‫es solo para cerrar el servidor.
‫Así que esto básicamente cerrará el servidor, pero antes de
‫eso todavía manejará todas las
‫solicitudes pendientes. Y eso
‫es exactamente lo que queremos, en
‫lugar de un final muy abrupto de la aplicación, ¿verdad?
‫Luego, una vez hecho esto, bloqueemos eso en
‫la consola.
‫Así que el
‫registro de puntos de la consola, nuevamente
‫agreguemos un lindo emoji aquí, el proceso terminó.
‫Bueno. Y en este caso
‫aquí, no usamos el punto de proceso de salida, porque
‫el término enfermo en sí mismo hará que la aplicación se cierre.
‫No es necesario que lo hagamos manualmente
‫como lo hicimos aquí. ¿Está bien?
‫Básicamente, término enfermo es una señal que se utiliza
‫para hacer que un programa
‫deje de ejecutarse. Así que es una
‫forma muy cortés de pedirle a un programa que termine. ¿Okey?
‫Entonces, nuevamente, necesitamos implementar esta escucha de este
‫evento aquí, porque Heroku cada
‫24 horas cerrará
‫nuestra aplicación enviando esta señal, o
‫este evento, a nuestra aplicación.
‫Y entonces, cerramos el proceso con gracia,
‫utilizando el punto del servidor close, lo
‫que permite que todas las solicitudes pendientes se sigan
‫procesando hasta el final. ¿Okey?
‫Entonces, ahora probemos esto.
‫Entonces, lo que tenemos que
‫hacer primero es, por supuesto, enviar todas estas
‫modificaciones a nuestro repositorio de git
‫y verá que
‫ahora mismo tenemos tres archivos modificados.
‫Así que modificamos el servidor en esta conferencia y
‫el controlador alt en la aplicación dot JS
‫en la última. ¿Derecha?
‫Entonces, agreguemos todos al área de preparación git
‫add all, y luego confirmemos estos cambios
‫realmente en nuestro repositorio.
‫Así que edita, Heroku, config.
‫Llamémoslo así.
‫Está bien. Y ahora
‫recuerde cómo básicamente redistribuimos la aplicación.
‫Bueno, eso es muy fácil.
‫Git empuja la rama maestra del anexo de Heroku.
‫Bien, entonces esto básicamente enviará
‫todas las modificaciones a esta rama
‫y luego reconstruirá la
‫aplicación en Heroku y, por supuesto, la reiniciará también.
‫Como puede ver, hace todo
‫este proceso que hizo cuando implementamos la
‫aplicación por primera vez de nuevo cada
‫vez que implementamos la aplicación en otra ocasión.
‫Y ahora eso está hecho. Entonces, para probar lo
‫que acabamos de hacer aquí, básicamente reiniciemos la
‫aplicación manualmente. Entonces, eso
‫también enviará el término enfermo a
‫la aplicación y debería activar lo que sea que suceda
‫aquí, ¿de acuerdo? Así que comencemos
‫por echar un vistazo a todos nuestros dinamómetros, así que eso
‫es algo que todavía no hicimos, así que ese
‫es Heroku PS y, como puede
‫ver, tenemos aquí este dinamómetro web gratuito. ¿Okey?
‫Cuál se ejecuta, o básicamente cuál
‫comienza usando el comando de inicio MPM, tal
‫como mencioné en uno de los videos anteriores.
‫Bien, ahora lo que podemos
‫hacer para reiniciar es muy simplemente Heroku PS y reiniciar.
‫Entonces no fue correcto, creo.
‫Ahora debería serlo, y ya está.
‫Entonces, echemos un vistazo ahora
‫a los registros que son Heroku logs dash dash tail.
‫Muy bien, aquí está.
‫Viniendo de nuestra aplicación, vemos el término enfermo recibido y
‫luego procesamos los bloqueos terminados.
‫Muy bien, y verá que
‫después de eso, el proceso de inicio con
‫el comando NPM start.
‫Muy bien, y eso es, tenga en
‫cuenta el servidor punto JS tal como lo especificamos,
‫y ahora la aplicación se está ejecutando en el puerto 57 dos seis siete.
‫Y recuerda cómo dije antes que básicamente
‫Heroku ejecuta su
‫aplicación en un puerto aleatorio. Y entonces este es
‫ese. ¿Está bien? ¡Excelente!
‫Así que salgamos de esto, limpiemos esto,
‫y con eso, terminamos todas
‫las cosas de configuración de Heroku en nuestra aplicación.
‫Fantástico. Ahora solo quedan dos
‫cosas más, que es implementar
‫algo llamado CORS, o Intercambio de recursos de origen
‫cruzado, y luego también finalizar los pagos de
‫Stripe mediante webhooks. Así que recuerde cómo
‫prometí implementar eso un poco más tarde,
‫y así lo haremos en las próximas dos conferencias.
‫¿Está bien? Así que nos vemos en un segundo.