标题:Func非Python API实现远程调用[原创] 出处:运维进行时 时间:Wed, 02 Jun 2010 12:04:26 +0000 作者:刘天斯 地址:https://blog.liuts.com/post/200/ 内容: 关于Func非Python API实现远程调用,目的是给第三方工具提供调用及返回接口。Func使用func-transmit命令来实现,支持YAML 1.0 与 JSON,使用上非常简单。例子如下: YAML格式 #vi run.yaml clients: "*" async: False nforks: 1 module: command method: run parameters: "/bin/echo Hello World" JSON格式 #vi run.json { "clients": "*", "async": "False", "nforks": 1, "module": "command", "method": "run", "parameters": "/bin/echo Hello World" } 参数说明 clients 目标主机,"*"代码所有被控主机。 async 是否异步,是一个bool值,True为使用异步,False则不使用。 nforks 启用的线程数,用数字表示。 module 模块名称,如command。 method 方法名称,如command模块下的run方法。 parameters 参数,如"/usr/bin/tail -100 /var/log/messages"。 运行结果 func-transmit --json < run.json 引用 {"SERVER-005": "Hello World www.tianya.cn", "SERVER-004": "Hello World www.tianya.cn", "SERVER-001": "Hello World www.tianya.cn", "SERVER-003": "Hello World www.tianya.cn", "SERVER-002": "Hello World www.tianya.cn"} func-transmit --yaml < run.yaml 引用 --- SERVER-001: Hello World www.tianya.cn SERVER-002: Hello World www.tianya.cn SERVER-003: Hello World www.tianya.cn SERVER-004: Hello World www.tianya.cn SERVER-005: Hello World www.tianya.cn 从运行结果可以看出,根据不同的接口格式能返回相应的结果。此时输出的YAML与JSON格式能够被绝大多数的语言识别,接下来就可以做一些后续的处理了。 Generated by Bo-blog 2.1.1 Release