[Twisted-web] Concurrency in a twisted.web application
anand at maunakeatech.com
Wed Nov 16 03:50:53 MST 2005
Dear twisted.web developpers and users,
I have written a twisted application for viewing and exporting movies.
These movies are in a format specific to my company.
I use : twisted 2.1.0, twisted.web 0.5.0, and nevow 0.5.0 (all html
templates are written using nevow).
In this web application, there is a feature for exporting a movie
file into mpeg, and sending it to the client web browser (file
This feature is handled by a resource object which is a subclass of
Exporting a movie into mpeg implies :
-> opening the original video file
-> doing the conversion (which can take as long as 1 minute or more)
-> sending the resulting mpeg file to the browser (file download)
The problem is that while the twisted web application is working
handling the export request, the twisted web server is not responsive
to any other HTTP request, as long as the video conversion and file
transfer is not finished.
I would like to know if there is a standard or recommanded way of
setting up concurrency into a twisted.web application.
And also if there is a sample program available somewhere.
I would like my web application to be still responsive to other HTTP
requests while :
-> file conversion to mpeg is being processing
-> mpeg file is being transfered to the client browser (which is
handled by a static.File subclass resource)
Thank you very much for all your answers.
I appreciate very much working with twisted.web and interested to get
more insight into the way twisted core handles requests.
More information about the Twisted-web