nlv11281 at natlab.research.philips.com
Wed Sep 6 03:24:57 EDT 2006
Your output is buffered in multiple stages. In most cases, you can call "req.flush()" to send data to the client. This will usually work, unless you have a module or a filter installed that collects output until the final stage. For example, this pattern shows how to send output from a slow query back to the user, so that he can see the results as they come back. By calling req.flush() at smart points, we make sure there's some feedback quite efficiently. ... req.write("<P>Results:</P><table><tr><th>Name</th><th>Date</th></tr>") req.flush() c=database.cursor() c.execute("SELECT name,date FROM persons") while 1: data = c.fetchmany() if not data: break for row in data: req.write("<tr><td>%s</td><td>%s</td></tr>" % row) req.flush() req.write("</table>") ... Mike Looijmans Philips Natlab / Topic Automation Ethan Toan Ton wrote: > I was wondering if anyone knew of a way to return multiple times to a > client using a Mod-Python event handler. Using the req.write() method > does nothing until the actual return statement sends all the data in one > message back to the client. So before you get to the actual return > statement, can you output back to them more than once?