Cuando ya tenemos una aplicación de Laravel en producción, puede que necesitemos hacer grandes o complejos cambios que afectarían su funcionamiento correcto por parte de los usuarios. Para esos momentos Laravel nos provee una manera sencilla de poner en modo mantenimiento mientras hacemos los cambios. Veamos cómo podemos activarlo.
En estos casos tan solo tenemos que ejecutar por consola:
php artisan down
Que nos devolverá el mensaje:
De esta manera la aplicación se encontrará “inactiva” mientras se realizan todas las actividades de mantenimiento. Al estar en modo será mostrada una vista, que puede ser personalizada, cada vez que algún usuario o visitante de nuestra aplicación haga una solicitud, la vista predeterminada es:
Si la aplicación está en modo mantenimiento se lanzará una excepción (HttpException) con un código de estado 503.
Para personalizar la vista vamos al archivo 503.blade.php ubicado en resources/views/errors y le agregamos lo que queremos. Por ejemplo,
<!doctype html> <title>Styde - En Mantenimiento</title> <style> body { text-align: center; padding: 150px; } h1 { font-size: 50px; } body { font: 20px Helvetica, sans-serif; color: #333; } article { display: block; text-align: left; width: 650px; margin: 0 auto; } </style> <article> <h1>¡Regresaremos pronto!</h1> <div> <p>Pedimos disculpas por los incovenientes causados pero estamos trabajando en cosas interesantes.¡Pronto estaremos en línea de nuevo!</p> <p>— El equipo</p> </div> </article>
Al terminar todas las actividades de mantenimiento podemos volver a activar la aplicación simplemente ejecutando por consola:
php artisan up
Que igualmente nos mostrará el mensaje:
Por otro lado, mientras la aplicación esté en mantenimiento las colas de trabajo no se ejecutarán. Volverán a ejecutarse normalmente una vez la aplicación haya salido del modo de mantenimiento.
Espero que te haya gustado el tutorial. Compártelo en las redes sociales y para cualquier duda abajo está la sección de comentarios.
Material relacionado
- Manejo de errores y excepciones en Laravel 5.1
- Crea entornos de desarrollo para Laravel con Homestead
- Tipos de servidores y entornos
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Registro de actividad con Laravel logging Lección siguiente Sobrecarga en PHP extendiendo la clase Laravel Collection