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 <[email protected]
<mailto:[email protected]>> 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
[email protected]
<mailto:[email protected]>
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________
Twisted-Python mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
_______________________________________________
Twisted-Python mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python