geventreactor 0.1.0 twisted defertothread callinthread 不能执行的原因

geventreactor 0.1.0 twisted defertothread callinthread 不能执行的原因

 

下载geventreactor 0.1.0

安装后进入源码包修改

	def callInThreadWithCallback(self,onResult,func,*args,**kwargs):
		"""Call a callable object in a separate greenlet and call onResult with the return value."""
		if self.open:
			def task(*args,**kwargs): #这里修改为 task(*args,**kwargs)
				try:
					res = func(*args,**kwargs)
				except:
					onResult(False,failure.Failure())
				else:
					onResult(True,res)
			self.add(Greenlet.spawn_later(0,task,*args,**kwargs))

分享到: 微信 更多