[Twisted-Python] Return only when value/handle is available

Adi Roiban adi at roiban.ro
Wed Sep 3 06:42:33 MDT 2014


One option in which we have both reactor and deferred :)

def do_low_level_stuff(deferred)
    try:
        deferred.callback(self.get_handle())
    except SystemDelayException:
        reactor.callLater(1, do_low_level_stuff, deferred)

def do_stuff():
    deferred = Deferred()
    do_low_level_stuff(deferred)
    return deferred

Cheers

On 3 September 2014 12:32, vikas kumar <vikas.c.kumar at 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 at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python



-- 
Adi Roiban




More information about the Twisted-Python mailing list