Foros del Web » Programando para Internet » PHP »

Ejecutar script en 2do plano

Estas en el tema de Ejecutar script en 2do plano en el foro de PHP en Foros del Web. Buenas tardes, como les va? Bueno les comento, en mi sitio no tengo nada que me permita hacer CRON JOBS ( o como se llame ...
  #1 (permalink)  
Antiguo 05/10/2010, 17:15
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Ejecutar script en 2do plano

Buenas tardes, como les va?


Bueno les comento, en mi sitio no tengo nada que me permita hacer CRON JOBS ( o como se llame ), entonces, como la tarea que tengo que hacer ahora es la de enviar emails de actualizacion a los usuarios, me hice un script que lo haga por si solo, en el cual, debo verificar un par de cosas (la hora, cant de emails a enviar, cant de emails enviados durante la ultima hora, etc), entonces, lo que quiero hacer es un llamado a la funcion desde el index (Al ser la pagina mas visitada me aseguro que los emails se envien cada hora!).

entonces pensaba hacer un
Código PHP:
require_once("funciones"); 
y luego
Código PHP:
enviaemails(); 
todo dentro del index.


mi pregunta es, ¿esta opcion es factible? ¿Haria mas lenta la carga del index en caso de que tenga que si o si enviar los emails? si corrobora que no debe enviar emails mediante una consulta ¿Esto demoraria tmb la carga del index? en sintesis ¿Estoy haciendo bien o es algo que ni siquiera lo deberia de haber pensado?

Un abrazo
  #2 (permalink)  
Antiguo 05/10/2010, 17:38
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Ejecutar script en 2do plano

Si, es algo que ni siquiera debiste haber pensando (a mi criterio), no puedes esperar que los visitantes entren a tu página para que ejecutes cierto código con cual nada tienen que ver ellos. De hacerlo, tomaría más tiempo para que se cargue esa página. Piensa en algo más. De no tener cronjob (que raro que tengas un hosting con PHP y sin cronjob, yo en tu lugar me cambio de hosting) puedes hacer lo siguiente, es solo una sujerencia: Hago una página a parte especialmente para esta tarea y ejecuto periódicamente una función ajax que ejecute todos esos códigos con los cuales envías los e-mails. Esa página tendriá que estar abierta todo el tiempo en tu terminal. Talvez no sea la mejor opción la que planteo, pero peor, a mi criterio, es lo que tú planteas. Suerte!
  #3 (permalink)  
Antiguo 05/10/2010, 18:14
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Ejecutar script en 2do plano

Cita:
Iniciado por ElJavista Ver Mensaje
Si, es algo que ni siquiera debiste haber pensando (a mi criterio), no puedes esperar que los visitantes entren a tu página para que ejecutes cierto código con cual nada tienen que ver ellos. De hacerlo, tomaría más tiempo para que se cargue esa página. Piensa en algo más. De no tener cronjob (que raro que tengas un hosting con PHP y sin cronjob, yo en tu lugar me cambio de hosting) puedes hacer lo siguiente, es solo una sujerencia: Hago una página a parte especialmente para esta tarea y ejecuto periódicamente una función ajax que ejecute todos esos códigos con los cuales envías los e-mails. Esa página tendriá que estar abierta todo el tiempo en tu terminal. Talvez no sea la mejor opción la que planteo, pero peor, a mi criterio, es lo que tú planteas. Suerte!
Gracias por contestar tan rapido!

1ero que nada, cuando los visitantes entran al sitio, solo 1 vez se ejecutara el script completamente por hora, es decir, si desde las 12 a la 1 entran 70 visitas, solo a 1 se le ejecuta el script completo, a las otras 69 se le ejecuta solamente un verificador. Eso si, el verificador son 2 consultas a BD y eso si se ejecuta para todos los usuarios. (Aca es obvio que hay demora en la carga, pero si en mi index hago al rededor de 30 consultas, creo que 2 mas no harian la diferencia)

2do, el hosting ya lo se, es una mierd_, el problema es que siempre que busque casi ninguno me parecio bueno, y termine contratando uno de los peores! ya que tampoco tiene URLS AMIGABLES! (Y con lo que me costo aprender lo del .htaccess)(Dattatec). Si me podrias recomendar uno estaria genial, ya que en unos meses se me vence el contrato.

3ro, la solucion que me planteas tiene algo de lo que yo quiero hacer y en parte me limita el hecho de tener que dejar una pagina abierta todo el tiempo, ya que lo que necesito es desligarme un poco.

sobre ajax no se nada de nada pero me gusta aprender cosas nuevas!, igualmente me parece que estariamos, no en la misma situacion, pero si en algo parecido!


pd: (Alternativa gratis de algun hosting con php y cron jobs? de ultima cargo todo en un hosting alternativo que tenga esas dos cosas y listo)

un abrazo
  #4 (permalink)  
Antiguo 06/10/2010, 07:13
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Ejecutar script en 2do plano

Buenos dias.

Ya implemente en mi sitio el tema del script en segundo plano, ahora mi duda es la siguiente (Pregunta re noob): Alguien entra al sitio, se ejectua el script de envios de email, y antes de que termine de enviar, el usuario abandona la pagina llendose a otra o a otro sitio, ¿Que sucede con mi script? ¿Una vez que comenzo termina solo? ¿O se corta?

Chan, para mi sigue ejecutando.

Un abrazo
  #5 (permalink)  
Antiguo 06/10/2010, 07:25
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Ejecutar script en 2do plano

Saludos

Pensaria que dependiendo del proceso que este realizando si esta dentro de un ciclo (for , while, foreach...) el proceso continuara de lo contrario se cortara de una vez.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 06/10/2010, 07:54
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Ejecutar script en 2do plano

si perdon, esta dentro de un bucle while! :S

luego posteo el codigo, ahora se me esta complicando un poco (No esta haciendo perfectamente lo que quiero jaja)

Un abrazo!

Gracias nano por la respuesta!
  #7 (permalink)  
Antiguo 06/10/2010, 08:00
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Ejecutar script en 2do plano

La mejor solución la tendrás cuando se termine el contrato de ese hosting y compres un hosting común y corriente, esos vienen con cronjobs y capacidad de hacer urls amigables. No sé que clase de hosting habrás comprado si el más misio viene con todo eso. (mision significa pobre).
  #8 (permalink)  
Antiguo 06/10/2010, 08:47
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Ejecutar script en 2do plano

el hosting es dattatec, me dijeron que todo esta disponible para plataforma linux y no para windows! una cagada.

voy a tener q buscar uno mejor, alguna recomendacion? :S

un abrazo
  #9 (permalink)  
Antiguo 07/10/2010, 08:03
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Ejecutar script en 2do plano

Y por que no usas uno con la plataforma linux? son los más baratos y vienen con todo eso, los hosting comunes y corrientes vienen así, porqué no quieres usar uno de esos si estás trabajando con PHP?
  #10 (permalink)  
Antiguo 08/10/2010, 05:09
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Ejecutar script en 2do plano

simplemente por un error de conceptos, siempre pense que migrar el sitio de windows a linux seria complicado, que habria cosas que no funcionarian y deberia invertir mucho tiempo arreglandolas o buscando las funciones equivalentes para linux, pero luego me dijeron que es lo mismo, pero a esas instancias ya tenia mi sitio comprado y funcionando bajo windows.


Un abrazo y gracias por todo!
  #11 (permalink)  
Antiguo 08/10/2010, 08:19
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Respuesta: Ejecutar script en 2do plano

Ja! imaginé que era por un error de conceptos, pero no pensé que sería de la manera que describes. Pero debo decirte que exactamente no es lo mismo, hay algunas cosas que funcionan diferente, pero es mínimo. Para muestra te puedo decir que en windows las carpetas no tienen permisos, en linux sí. Y así hay algunos detalles distintos pero no son muchos y corregirlos no cuesta tanto. Bueno.
  #12 (permalink)  
Antiguo 08/10/2010, 08:29
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 15 años, 3 meses
Puntos: 4
Respuesta: Ejecutar script en 2do plano

@ElJavista agradezco tu respuesta, en la notebook tengo una distro de linux ademas de windows 7, asi que voy a pasar las cosas a linux y ver el tema de los erroes aunque me lleve mas de 1 mes!

Ademas tengo que empezar a tocar linux porque sino me voy a quedar en la prehistoria jaja!


Un abrazo y gracias por todo!

Etiquetas: ejecutar, plano
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 08:17.