Exemple #1
0
class CPServer(object):
	def __init__(self,statefile=None,load=False):
		self.pool=Pool()
		self.statefile=statefile
		if self.statefile and load:
			self.pool.load_state(self.statefile)

	def dispatch_request(self,request):
		#if not request.json:
		#	return BadRequest('No JSON found!')
		result=self.pool.doMultipleCommandsAsync(request.json)
		return Response(dumps(result),content_type='text/json')

	def wsgi_app(self, environ, start_response):
		request = Request(environ)
		response = self.dispatch_request(request)
		return response(environ, start_response)

	def __call__(self, environ, start_response):
		return self.wsgi_app(environ,start_response)

	def close(self):
		if self.statefile:
			self.pool.save_state('state.json')