Esempio n. 1
0
	def queue_daemon(self, rv_ttl=500):
		""" 
		The daemon that listens for incoming orders. Must be run in a separate process. 
		All received orders are stored in the database
		"""
		while True:
			logger.debug('Waiting for orders...')
			order_form_data = self.redis.blpop(prefixed(self.uuid))
			order_form_data = loads(order_form_data[1])
			new_order = Order(**order_form_data)
			self.store_order(new_order)
			try:
				response = self.process_order(new_order)
				logger.debug('Finished processing order.')
			except Exception, e:
				logger.exception(e)
				response = e
def queue_order(redis, auction_id, order_data):
	logger.debug('Received order: %s'%order_data)
	order_data['received'] = datetime.utcnow()
	redis.rpush(prefixed(auction_id), cPickle.dumps(order_data))