回覆: Re: [Twisted-web] How to wait for a deferred object?

Suet Lung Cheung suetlung2003 at yahoo.com.hk
Sun Dec 4 20:52:11 MST 2005


Hi Paul,
     Thanks for your help. However it seems doesn't work. When I press Ctrl-C, it even doesn't call the stopService() function. I print a "Hello World" inside the function but it doesn't say hello to the world. And I've tried returning a Deferred from this function. However it quit before the callback is called. Can u give advice on this? Do u know where can I find some example about this? Thanks a lot.
 
 Snow Dragon

Jean-Paul Calderone <exarkun at divmod.com> »¡¡G On Fri, 2 Dec 2005 12:54:48 +0800 (CST), Suet Lung Cheung  wrote:
>  Hi everyone,
>
> I am writing a TCP server program using twisted. I cannot use pb since the client side is not in python. I decided to use twisted.application and run it as internet.TCPServer(...). My problem is that I want to make it save something to a database whenever a connection closed. I do this in returning a deferred under Protocol.connectionLost(). I would like to make this work when the server is shut down. However when the server is down, it doesn't wait for the deferred to finish the callback and quit. I would like to make it save to db as normal but the server will wait for all deferred has called back. Is there anyway I can do this? Any suggestions? Thanks a lot

Services receive shutdown notification via their stopService() method. The method is called all the way down the service hierarchy when a twistd process is preparing to terminate. If a stopService() method returns a Deferred, the Deferred will be allowed to fire before shutdown completes. So you probably want a custom Service implementation which knows about the Deferreds from your connectionLost() and can return them from stopService() if necessary.

Jean-Paul

_______________________________________________
Twisted-web mailing list
Twisted-web at twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web



_______________________________________
 ëx¾€ÓÏ¢ - Yahoo! Messenger
 ¾ÍËãÄã›]ÓÐÉϾW£¬ÄãµÄÅóÓÑÈÔ¿ÉÒÔÁôÏÂӍϢ½oÄ㣬®”ÄãÉϾW•r¾ÍÄÜÁ¢¼´¿´µ½£¬ÈκÎÕfÔ’¶¼ƒÓ×ßʧ¡£
  http://messenger.yahoo.com.hk 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-web/attachments/20051205/28baa7bf/attachment.htm


More information about the Twisted-web mailing list