durusmail: quixote-users: Re: Medusa
Medusa
2003-07-01
2003-07-01
2003-07-01
2003-07-01
2003-07-01
2003-07-01
BaseHTTPServer triggers M$IE bug (was: Medusa)
2003-07-02
BaseHTTPServer triggers M$IE bug
2003-07-02
Re: Medusa
2003-07-02
2003-07-02
2003-07-02
2003-07-02
Re: Medusa
2003-07-02
Re: Medusa
Oleg Broytmann
2003-07-02
On Tue, Jul 01, 2003 at 04:44:49PM +0400, Oleg Broytmann wrote:
>    How could I say to user "good by" and stop my program? I want to do
> something like that:
>
> def quit(request):
>    publisher.session_mgr.expire_session(request)
>    signal_asyncore_to_process_the_last_request_and_stop()
>    return "Thank you! Goodby!"

   I solved the problem the following way:

import asyncore
GlobalOptions.quit_flag = 0

def quit(request):
   GlobalOptions.quit_flag = 1
   request.response.set_header("Connection", "close")
   GlobalOptions.publisher.session_mgr.expire_session(request)
   return "Thank you! Goodby!"


from medusa import http_server
class QuitMonitoringChannel(http_server.http_channel):
   def close(self):
      http_server.http_channel.close(self)
      if GlobalOptions.quit_flag:
         asyncore.close_all()


def main():
    server = http_server.http_server(host, port)
    server.channel_class = QuitMonitoringChannel

Oleg.
--
     Oleg Broytmann            http://phd.pp.ru/            phd@phd.pp.ru
           Programmers don't die, they just GOSUB without RETURN.

reply