Hi All, I'm currently writing an application in which an report-page is based on a heavy SQL query. The query runs about 15 seconds (the result will be stored in a session). For this reason I want to create a waiting page which checks if the SQL query has finished running. Does anybody know if I can run the SQL query in a separate thread and redirect to the report-page when the query has finished (by polling the thread). The results will be read from the session and used in the report-page. Any clues? Greetings Ralph
Ralph vd Houdt wrote at 2003-12-17 15:35 +0100:
I'm currently writing an application in which an report-page is based on a heavy SQL query. The query runs about 15 seconds (the result will be stored in a session). For this reason I want to create a waiting page which checks if the SQL query has finished running. Does anybody know if I can run the SQL query in a separate thread and redirect to the report-page when the query has finished (by polling the thread). The results will be read from the session and used in the report-page.
A long time ago, someone announced a product "LocalProc" that seemed to be made for such use cases. -- Dieter
Hi Ralph, Ralph vd Houdt wrote:
Hi All,
I'm currently writing an application in which an report-page is based on a heavy SQL query. The query runs about 15 seconds (the result will be stored in a session). For this reason I want to create a waiting page which checks if the SQL query has finished running. Does anybody know if I can run the SQL query in a separate thread and redirect to the report-page when the query has finished (by polling the thread). The results will be read from the session and used in the report-page.
Forget about all the threading issue. Even if you would manage to get it work in Zope, tt will not fit into HTTP call model. The solution is quite easy: 1.) simple javascript switches style in your page to change form to a waiting page and then submits information. User would see waiting page until information returns from database and zope 2.) without Javascript, you call a simple waiting page, maybe with anim gif or message, and in the page you have <meta http-equiv="refresh" value="0; http://url/to/db_search_page?paramaters"> It only works with http-equiv headers, not with real HTTP header as of response.setHeader(). The next request starts immediately after loading the waiting page and the user sees the waiting page until 2nd call to zope returns. For the 2nd solution you should provide a link (maybe with the anim gif) to the data page, in case someone disabled redirects and is waiting forever then. Regards Tino Wildenhain
participants (3)
-
Dieter Maurer -
Ralph vd Houdt -
Tino Wildenhain