Foros del Web » Programando para Internet » PHP »

duda codigo enviar notificaciones

Estas en el tema de duda codigo enviar notificaciones en el foro de PHP en Foros del Web. Hola a todos tengo una aplicacion (esta desarrollada en codeigniter, pero creo que eso dará igual para mi duda) en la cual hay un numero ...
  #1 (permalink)  
Antiguo 30/05/2014, 06:06
 
Fecha de Ingreso: julio-2008
Mensajes: 543
Antigüedad: 16 años
Puntos: 56
duda codigo enviar notificaciones

Hola a todos
tengo una aplicacion (esta desarrollada en codeigniter, pero creo que eso dará igual para mi duda) en la cual hay un numero bastante alto de datos que tienen fecha de caducidad (es una intranet para un grupo de empresas donde , entre otras cosas, se crean fichas de maquinarias que tiene que revisarse cada x tiempo).

Necesito enviar un email automatizado de aviso cuando una de esas fechas este llegando , pongamos 1 semana antes de la fecha tope.

Mi idea es poner un cron que se ejecute todos los dias y compruebe las fechas en la base de datos y envie los emails si procede. Pero me da miedo que si hay muuuuuuuuuchos registros a comprobar (que los habrá) pueda exceder el tiempo de ejecucion (no sería la primera vez que me pasa).

Alguien tiene experiencia con esto y me puede dar algun consejo?
Gracias
__________________
Un saludo! :-)
Quiero ser el primero
  #2 (permalink)  
Antiguo 30/05/2014, 06:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 4 meses
Puntos: 574
Respuesta: duda codigo enviar notificaciones

Habria que ver el caso con mas detalle. Si el exceso de tiempo se produce por la consulta de os datos habría que ver la consulta y/o la estructura de la bbdd para ver si se puede mejorar para reducir ese tiempo. Si el exceso se produce al construir y mandar los emails tambien se podría revisar. Y como última opción se puede modificar puntualmente el tiempo de ejecución para este proceso, restaurando el tiempo original despues de haberse realizado el proceso.

Primero optimizar todo lo que se pueda, y como último recurso modificar las condiciones de seguridad.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 30/05/2014, 06:52
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 3 meses
Puntos: 292
Respuesta: duda codigo enviar notificaciones

Bueno....y con cuantos envios explota ?

Puedes crear un crono a cada segundo..... y en 1 segundo puedes enviar cantidad pero es mas eficiente si es cada mas tiempo porque cargar el interprete (que es tiempo) por enviar unos "pocos" no justifica


- Configura el crono cada por ejemplo 5 minutos

- Ya que es una Intranet... puedes ajustar el tiempo maximo de ejecucion casi a cualquier valor!! tanto desde php.ini como con ini_set()

- Haz que tu script envie unos N y los marque como leidos en la DB a medida que fueron procesados


Otra opcion, haz eso en C / C++
__________________
Salu2!
  #4 (permalink)  
Antiguo 30/05/2014, 06:54
 
Fecha de Ingreso: julio-2008
Mensajes: 543
Antigüedad: 16 años
Puntos: 56
Respuesta: duda codigo enviar notificaciones

gracias quimfv
otras veces que me ha pasado algo similar, ha sido (creo) culpa de hacer loops excesivamente largos, rollo un foreach que ha de hacer cientos de loops. En algun sitio lei que era mejor usar for en vez de foreach pero me parece que es pan para hoy y hambre para mañana :( tiene que haber otra forma de comprobar los registros y ejecutar las acciones que correspondan.

me gustaria poder dar mas datos del proyecto, pero claro, al ser programacion a medida y tal, hacerlo pasaría por compartir el codigo completo y eso no puedo
__________________
Un saludo! :-)
Quiero ser el primero
  #5 (permalink)  
Antiguo 30/05/2014, 07:00
 
Fecha de Ingreso: julio-2008
Mensajes: 543
Antigüedad: 16 años
Puntos: 56
Respuesta: duda codigo enviar notificaciones

gracias Italico76. Es una intranet... pero en un server externo, es que es un poco complejo de explicar. El funcionamiento es interno pero al usarse desde diversas ubicaciones, pues esta "fuera". La idea es en un futuro pasar a un servidor dedicado, pero de momento se ha de quedar asi.

Yo tenia pensado correrlo una vez al dia para TODOS los registros (brutita que soy xD ), pero me has dado una idea, que es trocearlo... hum...

La opcion de que sea en C o similares no estaria mal... pero ya esta desarrollada en php xD ademas no tengo tiempo de aprender C (y mira que tengo ganas de ponerme a ello). Y luego eso, que es necesario que se pueda acceder desde disitntos sitios independietemente del SO, desde movil, etc etc etc. Una aplicacion de escritorio definitivamente seria "un paso atras"
__________________
Un saludo! :-)
Quiero ser el primero
  #6 (permalink)  
Antiguo 30/05/2014, 07:50
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 3 meses
Puntos: 292
Respuesta: duda codigo enviar notificaciones

Cita:
Iniciado por darchy Ver Mensaje
La opcion de que sea en C o similares no estaria mal... pero ya esta desarrollada en php xD ademas no tengo tiempo de aprender C (y mira que tengo ganas de ponerme a ello). Y luego eso, que es necesario que se pueda acceder desde disitntos sitios independietemente del SO, desde movil, etc etc etc. Una aplicacion de escritorio definitivamente seria "un paso atras"
Es que correria en el servidor como un CGI, PHP tambien es un programa codificado en C / C++ que corre en el servidor y tu puedes accederlo "independietemente del SO, desde movil, etc etc etc."

... no seria de escritorio pero en PHP puedes hacerlo
__________________
Salu2!
  #7 (permalink)  
Antiguo 30/05/2014, 12:52
 
Fecha de Ingreso: julio-2008
Mensajes: 543
Antigüedad: 16 años
Puntos: 56
Respuesta: duda codigo enviar notificaciones

Cita:
Iniciado por Italico76 Ver Mensaje
Es que correria en el servidor como un CGI, PHP tambien es un programa codificado en C / C++ que corre en el servidor y tu puedes accederlo "independietemente del SO, desde movil, etc etc etc."

... no seria de escritorio pero en PHP puedes hacerlo
ooooooooooook... me temo que se escapa a mis conocimientos :)
__________________
Un saludo! :-)
Quiero ser el primero

Etiquetas: fecha, notificaciones, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:19.