Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Memory spooling not working within Commands #23

Closed
Sgoettschkes opened this Issue · 15 comments

9 participants

@Sgoettschkes

Setting swiftmailer up with the memory spooling does not work as the kernel seems to never terminate so the onKernelTerminate is never triggered.

I experienced this with the standard setup of symfony 2.1 (the configuration files are from RC1) where none of my emails sent through a command got sent. Removing the spooling options from my configuration, emailing went fine.

I don't know if it's possible to change the console to terminate the kernel so the emails get sent. This would of course be best.
If this is not possible, maybe the documentation should state this and offer ways to work around this.

@stof
Collaborator

It cannot terminate the kernel as this requrie a Request and a Response.

The way to send emails from a command is to either flush the memory spool by hand or to create a separate environment where the spool is disabled and use it to run the command.

Once symfony/symfony#3889 is merged, it should become possible to flush the memory spool automatically in the console too, but this will be for 2.2, not for 2.1.x

@Sgoettschkes

Ok, so would it be good to add this to the documentation, especially since symfony 2.1 ships with the memory spooling as a default? If so I would see if I can find some time to add a description of the problem and a code example of how to sent spooled messages.

@scheb

Took me about an hour to figure out this problem. Would be really good if it was documented somewhere, e.g. in the symfony console documentation.

@Sgoettschkes
Here's an example how to force a flush of the spool memory: http://sgoettschkes.blogspot.de/2012/09/symfony-21-commands-and-swiftmailer.html

@istaveren

Please update the doc. I also spend more then one hour on it.

@Sgoettschkes

@Sheb that's actually my blog post
@istaveren I'll add that to my todo. But it will take me some time, so if anybody else want to add it to the docs, please go ahead.

@Moinax

@Scheb Great that save my day :+1:

@kbond

memory spooling is also not working with monolog

@Sgoettschkes

I don't think this is related to this issue, is it? Depending on what you think is the source of this bug, could you please report it to either monolog or the monolog bundle.

@kbond

I believe it is related to #6 - when spooling is active, emails are not sent by monolog. There needs to be an ability to have "high priority" emails that bypass the spool.

@Koc

So events added to console commands. How about implement flushing?

@mcfedr

With this in mind, it would also be great to have an option to disable spooling, with long running commands its not desirable to waiting until the command is about to exit before sending mails

@stof
Collaborator

@mcfedr remove the spool configuration from your config, and it will disable the spooling

@mcfedr

@stof thanks! that is not at all obvious from the docs btw :)

@Koc Koc referenced this issue in symfony/symfony-standard
Closed

Mails sent from commands are lost #249

@Koc

Looks like #64 fixed this issue, isn't it?

@Tobion
Collaborator

Yes, closing

@Tobion Tobion closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.