工作介绍
在现有的 Maria 代码基础上,进行接口重构,git ssh 相关代码对外提供一个类似 Celery 的调用方式。
接口
定义 Task 类作为 gssh 接口管理。其中构造类成员方法 rungssh() 作为修饰符函数,然后在使用@符号定义修饰符时,将其下的被修饰函数作为参数传递给修饰符函数,并立即执行一次修饰符函数,在修饰符函数进行maria ssh参数设置。
from config import config
class Task(object):
def __init__(self):
...
def set_config(self, host, port, worker, interface, host_key):
...
def rungssh(self,func):
def wrappedFunc():
...
func()
return wrappedFunc
使用函数修饰符就是对接口进行包装,如下:
app = Task()
@app.rungssh
def run():
...
def main():
app.set_config("127.0.0.1", 2200, "maria.gssh.GSSHServer", "maria.gssh.GSSHInterface", "host.key")
run()
调用方式
通过Python程序来执行
import gsshserver
#gsshserver.run("127.0.0.1", 2200, "maria.gssh.GSSHServer", "maria.gssh.GSSHInterface", "host.key")
gsshserver.run()
或者
python2.7 gsshserver
下一步工作计划
1. 对ghttp相关代码进行重构
2. 增加一个entry_point接入点,实现更丰富的参数设置和运行方式