Hi Jonas,
This is nice.
But still we are retrying it repeatedly at regular interval(10). Can't
we get the notified asynchronously as and when handle is available.
Regards
Vikas
On 9/3/2014 6:10 PM, Jonas Brunsgaard wrote:
I would fiddle around with something like this.
from twisted.internet.defer import inlineCallbacks, returnValue, Deferred
from twisted.internet import reactor
@inlineCallbacks
def foo(self, retries=10, interval=10):
while True:
try:
returnValue((yield self.get_handle()))
except SystemDelayException as e:
if retries > 0:
retries -= 1
d = Deferred()
reactor.callLater(interval, d.callback, None)
yield d
else:
raise e
On Wed, Sep 3, 2014 at 1:32 PM, vikas kumar <vikas.c.ku...@oracle.com
<mailto:vikas.c.ku...@oracle.com>> wrote:
Hi,
I am little new to twisted.
I've a function(get_handle) which returns a handle.
But get_handle() may throw an exception(SystemDelayException)
because of some delay in system.
My requirement is : When I get SystemDelayException re-attempt
get_handle() and return only when handle is available. How do I
use deferred/reactor in this scenario?
try:
handle = yield self.get_handle()
except SystemDelayException:
// code to re-attempt get_handle and return only when handle
is available
Regards
Vikas
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
<mailto:Twisted-Python@twistedmatrix.com>
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python