long-running/long-running

Tools for working with long-running processes

0.2.0 2017-12-05 09:47 UTC

README

Tools for long-running commands.

Long running Symfony applications/console commands

In a Symfony application enable the bundle LongRunning\Bundle\LongRunningBundle\LongRunningBundle. Then use the long_running.delegating_cleaner service to:

  • Clear all Doctrine ORM entity managers (to prevent outdated entities from being updated)
  • Reset all closed Doctrine ORM entity managers (after a failed transaction)
  • Close all database connections (to prevent database timeout errors)
  • Clear all Monolog "fingers crossed" handlers (clears messages and resets the handler when there was no failure during the execution of a task)
  • Close all Monolog buffer handlers (clears log messages that were buffered during the execution of a task)
  • Flush all Swift Mailer "in memory" spools (i.e. send spooled e-mails)
  • Flush all unsent Sentry errors (in case they are handled async)

If you also use the SimpleBusRabbitMQBundleBridgeBundle, these clean-up actions will be performed automatically after each message that was consumed, whether or not consuming it was successful.