首页 > 其他 > 详细

m5-多主机异步执行命令程序

时间:2018-01-15 10:44:18      阅读:167      评论:0      收藏:0      [点我收藏+]
这是一个多主机异步执行命令程序

作者介绍:

需求:

例子:
>>:run "df -h" --hosts 192.168.3.55 10.4.3.4 
task id: 45334
>>: check_task 45334 
>>: 
注意,每执行一条命令,即立刻生成一个任务ID,不需等待结果返回,通过命令check_task TASK_ID来得到任务结果 

功能介绍:

先运行server.py,再运行client.py,

键入run ‘ls‘ --hosts 10.1.1.170 10.1.1.192run "ls" --hosts 10.1.1.170 10.1.1.192

立即返回task_id: 1515977xxx

键入check_task 1515977xxx获取命令执行结果,

如结果还未返回,则提示“正在获取结果,稍后再试。。。”

实现说明:

  • 收发消息使用rabbitmq队列存储
  • 客户端传递消息时为避免阻塞,使用了守护线程
  • 服务端连接受管主机使用了多进程,为了聚合多主机执行命令结果,使用了进程间通信

程序调试环境:

  • mac Python 3.6
  • PyCharm 2016.2
  • Rabbitmq 3.6.14

补充说明:

  • 未做异常捕获,个别情况可能不尽人意

m5-多主机异步执行命令程序

原文:http://blog.51cto.com/987774031/2060939

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!