We're actually running Catalyst::Runtime 5.80031 (currently), so I believe it's using Catalyst::Engine::FastCGI which just does *STDOUT->syswrite()
I guess I try to do some testing with newer Catalyst (and maybe alternate deployment methods), to see if that changes anything. Looking through the Changelog, I didn't see anything specifically related to this, though (although I imagine the Plack stuff makes it somewhat different in the more recent releases). On Oct 30, 2013, at 11:03 PM, Hailin Hu <[email protected]> wrote: > It is an engine relevant stuff. > Find which engine you are using ( for example, Plack::Handler::FCGI ) > and look around codes around write(r), you may find something. > Good luck :) > > On Wed, Oct 30, 2013 at 9:51 AM, Daniel J. Luke <[email protected]> wrote: >> I've got some legacy CGI code that does a bunch of processing and uses the >> old hack of $| = 1; print "foo\n"; do_work(); print "foo done\n"; etc. >> (solution #1 from http://wiki.catalystframework.org/wiki/longcomputations) >> >> While I'll eventually convert it to a job queue, I'd like to create an >> output-identical implementation first with Catalyst, however it seems like >> I'm getting output buffering when I don't want it. >> >> As a very simple test, I've set up apache 2.2, mod_fastcgi >> (FastCgiExternalServer with -flush and without -flush) and a method like >> this: >> >> sub test: Local { >> my ($self, $c) = @_; >> >> $c->res->body(''); >> $c->response->content_type( 'text/plain; charset=utf-8' ); >> $c->finalize_headers; >> >> my $i; >> for($i=1;$i<8;$i++) { >> $c->write("$i: foo bar baz\n"); >> sleep(1); >> } >> } >> >> I see all the data at once in my browser instead of a line every second, and >> with tcpdump, can see that all of the data is coming back in one packet and >> not in 8+ smaller packets like I expect. If I make the string that gets >> passed to write longer, I get several packets, but all at once (and not with >> each iteration through the for loop). >> >> Am I missing something obvious? Is there some way to get the behavior I'm >> expecting? -- Daniel J. Luke +========================================================+ | *---------------- [email protected] ----------------* | | *-------------- http://www.geeklair.net -------------* | +========================================================+ | Opinions expressed are mine and do not necessarily | | reflect the opinions of my employer. | +========================================================+ _______________________________________________ List: [email protected] Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
