首页 > ansible > ansible api实现命令异步执行
ansible api实现命令异步执行
2014年10月9日 9,968 浏览数 发表评论 阅读评论

代码也可以在这里查看

https://github.com/ivonlee/ansible/blob/master/ansible_api_async_run.py

 

tornado上实现ansible api异步执行,方便php写的运维后台调用,当然php后台还是要做一个类似于队列的东西,将任务存在redis或者mongodb里面,然后有个php进程持续监听任务队列。

下面的脚本运行后,可以用类似POSTMAN工具进行post数据测试,如果你的平台本来就是python的,那更方便了,自己写个简陋的web界面,直接执行了,不用tornado做web容器了。

mongodb里面的表信息,ansible_task是收到的任务,ansible_job里面有任务执行结果

上代码,python比较搓,求大牛带我

 

  1. rolin
    2015年6月12日08:13 | #1

    请教一个问题,就是当你得到post数据的时候,如果是post的数据是很多比如我用ztree发送的数据,发过来的形式是[{“host”:},{“host”:},{“host”}],你是怎么在这边来用host=data[“host”]来得到数据,并且并发处理的呢?我的QQ是992975991,谢谢你的回答

  2. rolin
    2015年6月12日08:15 | #2

    我看了 你的那个页面,如果是多组数据 应该怎么办呢?如果加在for循环里面,那样就是串行了,不是并发

  3. rolin
    2015年6月12日08:17 | #3

    我这的区别 和 你那儿的区别 就是 你仅仅是发送的一个字典过去,要是 发送多个字典肿么办呢?

  4. atong
    2016年11月11日09:20 | #4

    你好,那这样的话,tornado这边还是阻塞住的,只是对于php端加上任务队列之后,php就是异步的了?

  1. 本文目前尚无任何 trackbacks 和 pingbacks.