Foros del Web » Programando para Internet » PHP » Symfony »

Tarea programada de envío de mails

Estas en el tema de Tarea programada de envío de mails en el foro de Symfony en Foros del Web. Hola a todos! Estoy trabajando en Symfony2 con el envío de mails con SwiftMailer. El caso es que, además de enviar mails desde la aplicación ...
  #1 (permalink)  
Antiguo 08/08/2012, 08:49
 
Fecha de Ingreso: mayo-2012
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 1
Pregunta Tarea programada de envío de mails

Hola a todos!

Estoy trabajando en Symfony2 con el envío de mails con SwiftMailer. El caso es que, además de enviar mails desde la aplicación web, ahora quiero programar una tarea que envíe los correos periódicamente.

He visto que en Symfony extendiendo la clase sfBaseTask es posible crear una tarea que puede ser llamada desde línea de comandos (y así crear un fichero .bat que se ejecute cada cierto tiempo), pero no he encontrado nada parecido para Symfony2. ¿Existe alguna manera de crear una tarea con Symfony2? ¿Habría alguna alternativa sencilla de manera que pueda reutilizar la plantilla de mail que uso en la aplicación?

Saludos!
  #2 (permalink)  
Antiguo 08/08/2012, 10:35
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Tarea programada de envío de mails

en teoria con un cronjob debería funcionarte, bueno hice una prueba acá con la lib swiftmailer sin symfony y el correo me llego
Código consola:
Ver original
  1. crontab -e
Código nano:
Ver original
  1. * * * * * php /path/file.php

lo puse a cada minuto del día por flojo pero siempre puedes configurarlo, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 09/08/2012, 12:06
 
Fecha de Ingreso: mayo-2012
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Tarea programada de envío de mails

No me he expresado con claridad. Gracias por la respuesta pero no es exactamente lo que busco.

Lo que yo quería saber es cómo crear una tarea en Symfony2 para ser llamada a través de un comando. Con PHP es tan fácil como escribir php y la ruta del script. Con Symfony es posible crear una clase que extienda sfBaseTask para acceder a una clase Symfony con todas las librerías que provee, como se indica en el link:

http://www.symfony-project.org/more-with-symfony/1_4/es/13-Leveraging-the-Power-of-the-Command-Line

(Perdón por no poner el enlace pero al guardarlo no me lo insertaba a pesar de que en la vista previa sí lo hacía...)

Ya que esto está en Symfony, me extrañaría mucho que no hubiera algo similar en Symfony2, que es lo que no he encontrado. Si alguien supiera algo acerca del tema, que lo comente
  #4 (permalink)  
Antiguo 09/08/2012, 13:09
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 11 meses
Puntos: 845
Respuesta: Tarea programada de envío de mails

En SF2 tienes el componente console.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 09/08/2012, 13:15
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 8 meses
Puntos: 461
Respuesta: Tarea programada de envío de mails

lo de los link no te preocupes eso es por la regla 30/30 del foro, ve las politicas :), bueno verifica a ver si https://github.com/RobMasters/TaskBundle te sirve, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 17/08/2012, 15:32
 
Fecha de Ingreso: mayo-2012
Mensajes: 8
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: Tarea programada de envío de mails

Gracias por la ayuda! He estado liado con otros temas de mi aplicación pero hoy ya he investigado respecto a lo que me habéis comentado y he conseguido solucionarlo. He encontrado otro enlace con un ejemplo, sin necesidad de descargar un bundle, que me ha servido mucho.

[URL="http://shout.setfive.com/2011/09/09/adding-a-taskcommand-in-symfony2/"]http://shout.setfive.com/2011/09/09/adding-a-taskcommand-in-symfony2/[/URL]

Quería comentar también, por si alguien tuviera el mismo problema que yo, que para inicializar el entity manager es así:

Código PHP:
$em $this->getContainer()->get('doctrine')->getEntityManager(); 
Y si es necesario llamar a una plantilla twig para montar el cuerpo del mail sería:

Código PHP:
$this->getContainer()->get('templating')->render(EncuestasBundle... 
Un saludo!

Etiquetas: symfony2
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 04:00.