Micro Service Framework for Python
Project description
Laka
Laka is a microservice framework for Python, based on json and redis.
Install
- Step one Install Fofo
- Step two
pip install laka
Feature
- Service Register and Discovery
- Transmit data with Json RPC
Tutorial: Server
- 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, )
- 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
- 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)
- Add router
# COMMAND_CREATE_USER = 101 laka_server.router(COMMAND_CREATE_USER, CreateUserHandler)
- Accept & Handle request
for queue, cmd in laka_server.accept_request(): handler_response = laka_server.handle(cmd)
Tutorial: Client
- 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, )
- 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")
- Send Request
request_id = laka_client.request(COMMAND_CREATE_USER, param)
- 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.
Source Distribution
Laka-0.3.tar.gz
(7.9 kB
view details)
File details
Details for the file Laka-0.3.tar.gz
.
File metadata
- Download URL: Laka-0.3.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e56ecd5cd7c386e8eb61696aa2cd6e08f2c7b9b9d711ebb281747e834177deba |
|
MD5 | 392e73cff7ecae5eefa9aa3abb3082e0 |
|
BLAKE2b-256 | d4e64aa46d31ca4ca88a96ec2b09b9bbebde4012ed53b3f5c9cbd53884ab2463 |