Subversion Repositories SmartDukaan

Rev

Rev 3537 | Rev 3915 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on 24-May-2011
@author: Varun Gupta
'''
from shop2020.config.client.ConfigClient import ConfigClient
from shop2020.thriftpy.model.v1.user import PromotionService
from thrift.transport import TSocket, TTransport
from thrift.protocol.TBinaryProtocol import TBinaryProtocolFactory
from thrift.server import TServer
from shop2020.model.v1.user.impl.PromotionServiceHandler import PromotionServiceHandler

host_name = 'localhost'
port = 9005
dbname = 'user'
db_hostname='localhost'

def main():
    #get the config client
    try:
        config_client = ConfigClient()
        host_name = config_client.get_property('promotion_service_server_host')
        port = config_client.get_property('promotion_service_server_port')
        dbname = config_client.get_property('promotion_service_dbname')
        db_hostname = config_client.get_property('promotion_service_db_hostname')
    except:
        #error while spawning the config server
        host_name = 'localhost'
        port = 9005
        dbname = 'user'
        db_hostname='localhost'
    
    handler = PromotionServiceHandler(dbname, db_hostname)
    processor = PromotionService.Processor(handler)
    transport = TSocket.TServerSocket(port=port)
    tfactory = TTransport.TFramedTransportFactory()
    pfactory = TBinaryProtocolFactory()
    server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)
    print "Starting Promotion Service at, port " + str(port) + " host " + host_name
    server.serve()
    print "Server functioning"
    
if __name__ == '__main__':
    main()