entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Matar sesiones, mostrar hora cliente, timer down con cliente

Buenas tardes, tenemos que desarrollar una mejora en nuestros sistemas que refleje un tiempo determinado en el que el sistema va a estar "No disponible" por tareas de mantenimiento.

La idea es algo así:

If ((date("G:i")>="12:55") and (date("G:i")<="13:10")) 
{ 
    echo "<center><strong><span style=\"color:red\">Thank you for accessing The MPLC's ClaimPro system. <br />The system is currently undergoing routine data backup procedures.<br />Please come back in 25 minutes when the system will be back online.</span></strong></center>";
}
else
{
        If ((date("G:i")>="12:40") and (date("G:i")<="12:55")) 
    { 
        echo "<center><strong><span style=\"color:red\">Thank you for accessing The MPLC's ClaimPro system. <br />The system will be undergoing routine data backup procedures in 15 minutes<br/> and will not be accesible for 50 minutes.<br/></span></strong></center><p> </p>";
    }
// Sistema disponible
}

El problema surge cuando queremos mostrarle al cliente a qué hora el sistema volverá a estar disponible así como queremos eliminar todas las sesiones que haya creadas en el sistema cuando queden 10 segundos para la hora de "No Disponibilidad"

Tenéis alguna idea de cómo hacerlo? Supongo que tendremos que tirar de javascript (por eso de crear un contador que vaya haciendo una cuenta atrás del tiempo que queda hasta la "Desconexión") y no me manejo demasiado bien con javascript pero bueno, seguro que leyendo y siguiendo vuestros consejos lo hacemos en dos ratitos!

Gracias y SaludoS!

1voto

bl4z3r comentado

¿Por que necesitas cerrar la sesión de todos los usuarios que tiene la sesión abierta? ¿No puede, solamente, mostrarles una pagina de "En mantenimiento"?

1voto

ankeorum comentado

Mucho mejor matar la sesión y luego volverla a iniciar ya que el periodo de "Mantenimiento" sería media hora y las sesiones tienen un countdown javascript para matarlas en 30 minutos así que debería cerrar las sesiones para continuar con la consistencia de la aplicación.

0voto

ankeorum comentado

No se os ocurre ninguna forma de hacer esto? :-( Estoy un poco atascado con esto

1 Respuesta

1voto

carlossevi Puntos63580

Para eliminar la sesión del usuario que visita la página según determinadas condiciones puedes utilizar lo siguiente:

if (...) {
    session_destroy();
}

No veo en qué te puede ayudar esto, pero responde a tu pregunta.

1voto

ankeorum comentado

Muchas gracias, eso solventa parte de la pregunta. La otra parte tienes idea de cómo hacerla?

La otra parte de la pregunta es, por si arriba no quedó demasiado claro, mostrar un timer con una cuenta atrás basándome en la hora que es en el servidor. Es decir, si en el servidor son las 21.00 y el shutdown se producirá a las 21.20 deberá mostrarle al cliente: El servidor se apagará en 20 minutos ({cuenta atrás}) a las XX.XX hora local.

3votos

carlossevi comentado

Aquí tienes un ejemplo de una cuenta atrás con Javascript (documentación y explicación).

Para hacer que la cuenta atrás funcione con la hora del servidor tendrás que manipular la fecha actual o la fecha final del contador para iniciarlizarla desde el servidor, por ejemplo generando el javascript mediante PHP.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta