[Twisted-Python] AsynQueue: return deferred from queued method

Stephan Jaeger stephan.jaeger at ewetel.de
Tue Aug 12 05:01:22 MDT 2008


Thanks for your answer Ed,

Am Montag, den 11.08.2008, 08:52 -0700 schrieb Ed Suominen:

> Just use a single implementer of IWorker that only accepts one 
> assignment at a time. The queue will not feed it its next task until the 
> deferred from its previous one has fired.

Would something like this be ok?

from zope.interface import implements
from asynqueue import IWorker

class DeferredWorker(object):
    
    implements(IWorker)
    cQualified = []
    
    def __init__(self):
        self.iQualified = []
        
    def run(self, task):
        self.task = task
        f, args, kw = task.callTuple
        d = f(*args, **kw)
        d.addCallbacks(task.callback, task.errback)
        return d

    def setResignator(self, callableObject):
        """
        There's nothing that would make me resign.
        """
        
    def stop(self):
        pass
    
    def crash(self):
        return self.task

At least it seems to do the job ;)


regards,

Stephan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: </pipermail/twisted-python/attachments/20080812/4fb2ec38/attachment.sig>


More information about the Twisted-Python mailing list