def invoke_func(*args, **kwargs): if onWorkerThread('dbThread'): return func(*args, **kwargs) else: if TRHEADING_DEBUG: caller = inspect.stack()[1] callerstr = "%s %s:%s" % (caller[3], caller[1], caller[2]) print >> sys.stderr, long( time()), "SWITCHING TO DBTHREAD %s %s:%s called by %s" % ( func.__name__, func.func_code.co_filename, func.func_code.co_firstlineno, callerstr) event = Event() result = [None] def db_thread(): try: result[0] = func(*args, **kwargs) finally: event.set() #Niels: 10-03-2012, setting prio to 1024 because we are actively waiting for this db_thread.__name__ = func.__name__ register_task(db_thread, priority=1024) if event.wait(15) or event.isSet(): return result[0] from traceback import print_stack print_stack() print >> sys.stderr, "GOT TIMEOUT ON forceAndReturnDBThread", func.__name__
def invoke_func(*args, **kwargs): if onWorkerThread("dbThread"): return func(*args, **kwargs) else: if TRHEADING_DEBUG: caller = inspect.stack()[1] callerstr = "%s %s:%s" % (caller[3], caller[1], caller[2]) print >>sys.stderr, long(time()), "SWITCHING TO DBTHREAD %s %s:%s called by %s" % ( func.__name__, func.func_code.co_filename, func.func_code.co_firstlineno, callerstr, ) event = Event() result = [None] def db_thread(): try: result[0] = func(*args, **kwargs) finally: event.set() # Niels: 10-03-2012, setting prio to 1024 because we are actively waiting for this db_thread.__name__ = func.__name__ register_task(db_thread, priority=1024) if event.wait(15) or event.isSet(): return result[0] from traceback import print_stack print_stack() print >>sys.stderr, "GOT TIMEOUT ON forceAndReturnDBThread", func.__name__
def invoke_func(*args,**kwargs): if onWorkerThread(): func(*args, **kwargs) else: if TRHEADING_DEBUG: caller = inspect.stack()[1] callerstr = "%s %s:%s"%(caller[3],caller[1],caller[2]) print >> sys.stderr, long(time()), "SWITCHING TO DBTHREAD %s %s:%s called by %s"%(func.__name__, func.func_code.co_filename, func.func_code.co_firstlineno, callerstr) startWorker(None, func, wargs=args, wkwargs=kwargs)
def invoke_func(*args, **kwargs): if onWorkerThread('dbThread'): func(*args, **kwargs) else: if TRHEADING_DEBUG: caller = inspect.stack()[1] callerstr = "%s %s:%s" % (caller[3], caller[1], caller[2]) print >> sys.stderr, long( time()), "SWITCHING TO DBTHREAD %s %s:%s called by %s" % ( func.__name__, func.func_code.co_filename, func.func_code.co_firstlineno, callerstr) register_task(func, args, kwargs)