Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Micro Service Framework for Python

Project description

Laka

Build Status codecov Codacy Badge PyPI - Python Version PyPI PyPI - License

Laka is a microservice framework for Python, based on json and redis.

Install

  1. Step one Install Fofo
  2. Step two
    pip install laka
    

Feature

  • Service Register and Discovery
  • Transmit data with Json RPC

Tutorial: Server

  1. Create Server and Register Service
    from laka import LakaServer
    
    laka_server = LakaServer(
        service_name="lakaTest",    # Register Service with this name
        redis_host="localhost", 
        redis_port=6379, 
        redis_queue="laka_request", 
        fofo_host="10.88.190.211",
        fofo_port=6379,
        response_message=RESPONSE_MESSAGE,
        check_health=True,
    )
    
  2. Define param for Handler
    from laka import Param
    
    class CreateUserParam(Param):
        def __init__(self):
            self.account = None
            self.password = None
            self.tel = None
        
        def validate(self):
            """
            validate will be run automatically
            you should not run validate by yourself
            """
            if not (self.account and self.password):
                return False
            return True
    
  3. Define Handler
    from laka import Handler
    
    class CreateUserHandler(Handler):
        Param = CreateUserParam
    
        def handle(self):
            user = {"password":self.param.password, "account":self.param.account}
            return HandlerOK(user)
    
  4. Add router
    # COMMAND_CREATE_USER = 101
    laka_server.router(COMMAND_CREATE_USER, CreateUserHandler)
    
  5. Accept & Handle request
    for queue, cmd in laka_server.accept_request():
        handler_response = laka_server.handle(cmd)
    

Tutorial: Client

  1. Create Client
    from laka import LakaClient
    
    laka_client = LakaClient(
        service_name="lakaTest",    # service_name is the service you want to connect to
        fofo_host="10.88.190.211",
        fofo_port=6379,
    )
    
  2. Define & Create param
    from laka import Param
    
    class CreateUserParam(Param):
        
        def __init__(self, account, password, tel=None):
            self.account = account
            self.password = password
            self.tel = tel
        
        def validate(self):
            """
            validate will be run in request automatically
            you should not run validate by yourself
            """
            if not (self.account and self.password):
                return False
            return True
    
    param = CreateUserParam("olivetree", "123456")
    
  3. Send Request
    request_id = laka_client.request(COMMAND_CREATE_USER, param)
    
  4. Get Response
    response = laka_client.accept_response(request_id)
    print("response = ", response.json())
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Laka, version 0.3
Filename, size File type Python version Upload date Hashes
Filename, size Laka-0.3.tar.gz (7.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page