martin f krafft schrieb:
Hi there, ... I was thinking we could send data back to the browser, but I cannot figure out a way to do this from a TTW Python script. How can I send data immediately, not only when I 'return printed' after all the processing is done. NPH or so, I believe this was called with plain CGIs.
Actually it does not have anything to do with NPH, but thats another story. You can just write via context.REQUEST.RESPONSE.write(somestring) When you start doing this, you are switching to "streaming" mode and anything you return from that script is discarded. This is especially important to know when exceptions occur - you wont see them unless you take precaution try: nasty_things() except Exception,x: response.write("Error: %r\n" % x) # or something raise x # dont forget to reraise! Or you look into the error_log object.
Also, I would be interested in how other people approach this problem. `zopectl run` may be an alternative, but we'd rather not require filesystem access.
zopectl run is actually fine for maintenance. Its also easier to avoid running the same script 100x the same time - as it can happen with HTTP requests. A simple cron job, some locking, report via email ... and you are done. HTH Tino