Subversion Repositories SmartDukaan

Rev

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

'''
Created on 25-Mar-2010

@author: ashish
'''
from shop2020.config.client.ConfigClient import ConfigClient
from shop2020.thriftpy.model.v1.catalog import  InventoryService
from thrift.transport import TSocket, TTransport
from thrift.protocol.TBinaryProtocol import TBinaryProtocolFactory
from thrift.server import TServer
from shop2020.model.v1.catalog.impl.InventoryServiceHandler import InventoryServiceHandler


host_name = 'localhost'
port = 9001
dbname = 'catalog'
db_hostname='localhost'

def main():
    #get the config client
    try:
        config_client = ConfigClient()
        host_name = config_client.get_property('catalog_service_server_host')
        port = config_client.get_property('catalog_service_server_port')
        dbname = config_client.get_property('catalog_service_dbname')
        db_hostname = config_client.get_property('catalog_service_db_hostname')
    except:
        #error while spawning the config server
        host_name = 'localhost'
        port = 9001
        dbname = 'catalog'
        db_hostname='localhost'
    
    handler = InventoryServiceHandler(dbname, db_hostname)
    processor = InventoryService.Processor(handler)
    transport = TSocket.TServerSocket(port)
    tfactory = TTransport.TFramedTransportFactory()
    pfactory = TBinaryProtocolFactory()
    server = TServer.TThreadedServer(processor, transport, tfactory, pfactory)
    print "Starting InventoryService at, port "+ str(port)+" host "+host_name
    server.serve()
    print "Server functioning"
    

if __name__ == '__main__':
    main()