码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-01-15 11:03:38      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:避免   http   一个   连接   min   主机   服务端   sts   manage   

这是一个多主机异步执行命令程序

作者介绍:

需求:

例子:
>>: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   一个   连接   min   主机   服务端   sts   manage   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!