1
0
mirror of https://github.com/haiwen/ccnet-server.git synced 2025-06-19 18:31:55 +00:00
ccnet-server/python/ccnet/test-server.py
2016-08-19 13:54:34 +08:00

46 lines
1.0 KiB
Python

import os
import logging
import libevent
from pysearpc import searpc_server
from ccnet.async import AsyncClient, RpcServerProc
RPC_SERVICE_NAME = 'test-rpcserver'
CCNET_CONF_DIR = os.path.expanduser('~/.ccnet')
def init_logging():
"""Configure logging module"""
level = logging.DEBUG
kw = {
'format': '[%(asctime)s] %(message)s',
'datefmt': '%m/%d/%Y %H:%M:%S',
'level': level,
}
logging.basicConfig(**kw)
i = 0
def register_rpc_functions(session):
def str_mul(a, b):
global i
i = i + 1
print '[%s] a = %s, b = %s' % (i, a, b)
return a * b
searpc_server.create_service(RPC_SERVICE_NAME)
searpc_server.register_function(RPC_SERVICE_NAME, str_mul)
session.register_service(RPC_SERVICE_NAME, 'basic', RpcServerProc)
def main():
init_logging()
evbase = libevent.Base()
session = AsyncClient(CCNET_CONF_DIR, evbase, CCNET_CONF_DIR)
session.connect_daemon()
register_rpc_functions(session)
session.main_loop()
if __name__ == '__main__':
main()