Devs, This is my first post to the symfony-devs list. It is not intended to be a "how do I do xxx" post, so I apologized if it is perceived as such.
I've witnessed a couple of situations where I run out of memory in Symfony 1.4.1 (on PHP 5.3.1) when using Doctrine in tasks: (a) Loading a large fixture file via doctrine:data-load (ticket #7733) (b) Long running tasks containing simple Doctrine queries within an application context (--application command option is set) As far as I can tell, this is because the Doctrine_Connection_Profiler is enabled in both of these situations. I've described this in more detail on the symfony-users list here: http://groups.google.com/group/symfony-users/msg/f9b7ddb5b628a928 In short, the profiler is enabled because I do not explicitly disable it in my databases.yml file with the profiler parameter and because sf_debug is set by sfBaseTask when using the an application context. My specific questions: 1) It seems the only way to disable the profiler is to set the profiler database parameter to false. I think the only way to do this is via databases.yml. Thus, for tasks, I create a new environment with the profiler setting and run my tasks using this environment. I'm wondering if this is the intended behavior, or if this is a bug? 2) I don't fully understand the Doctrine_Connection_Profiler, but it appears to store all query objects for the entire connection. Is turning the profiler off the correct thing to do for long running tasks, or is there a better way to control memory usage? 3) Why does sfBaseTask hard code sf_debug to true regardless of environment? This is what enables the Doctrine_Connection_Profiler when the profiler database parameter isn't set. In any long-running code I write I make sure I free and unset Doctrine objects. All of my code works when not using an application context to run tasks. I cannot get the doctrine:data-load task to work without increasing PHP's memory_limit. Thanks in advance for any help you can offer. I'm happy to help (file bug report|patch|test|document) in any way I can to fix this. Brandon -- You received this message because you are subscribed to the Google Groups "symfony developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/symfony-devs?hl=en.
