calling reactor.callLater within qt4reactor in an attempt to async non webkit work but not seeing expected behavior. Webkit locks while the callLater function executes.
Any insight appreciated. Should I move real work into separate reactor and "broker" calls into qt4reactor/webkit. I have xmlrpc and websocket hooks into browser...but looking for guidance as to most direct method of brokering calls between reactors. Any insight appreciated. Having a blast using QT browser as a back-end, see demo site www.athleets.com. See below for amazon S3 upload worker that I expected to async, but in qt4reactor does not appear to work as planned. from pyscewpt import fixed from pyscewpt.s3 import bucket_util import boto from boto.s3.bucket import Bucket from boto.s3.key import Key from twisted.internet import defer, reactor bucket_queue = defer.DeferredQueue() def upload_worker(data): print 'macth upload_worker', data save_match( data['league'], data['twitter'], data['local_file'], data['meta'], data['profile']) return len(bucket_queue.pending) def match_queue(ign=None): print 'match_queue:', len(bucket_queue.pending), len(bucket_queue.waiting) if ign is None or ign >= 2: print 'requeue:', len(bucket_queue.pending) , len(bucket_queue.waiting) d = bucket_queue.get() d.addCallback(upload_worker) d.addBoth(match_queue) return d else: return None def queue_save_match(queue_dic): bucket_queue.put(queue_dic) print 'queue_save_match', len(bucket_queue.pending), len(bucket_queue.waiting), queue_dic['twitter'] # if len(bucket_queue.pending) >= 5 and len(bucket_queue.waiting) == 0: print 'queue drop worker' reactor.callLater(0,match_queue,None) def save_match(league, twitter, systemfile, meta, profile): print 'save_match:', twitter, profile s3_filename = league + '/' + twitter + '.png' bucket_util.save_s3( boto.connect_s3().get_bucket('~bucket'), s3_filename, None, systemfile, 'image/png', 'public-read', meta + [('yes', False), ('no', False), ('maybe', False), ('profile', profile)] )
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python