import json
import socket
from thread import *
from ansible_api import *
from rpyc import Service
from rpyc.utils.server import ThreadedServer class ManagerService(Service): def exposed_login(self,user,passwd): if user=="ANuser" and passwd=="KJS23o4ij09gHF734iuhsdfhkGYSihoiwhj38u4h":
self.Checkout_pass=True
else:
self.Checkout_pass=False def exposed_Runcommands(self,conn): self.data = conn
recvData = eval(self.data)
if recvData['task_type'] == '初始化及软件安装':
push_resource = recvData['resource']
task = MyTask(push_resource)
if recvData['init_type'] == 'initalize':
res = task.qd_initialize()
elif recvData['init_type'] == 'php':
res = task.qd_php()
elif recvData['init_type'] == 'tomcat':
res = task.qd_tomcat()
elif recvData['task_type'] == 'root密码修改':
push_resource, password, username = recvData['resource'], recvData['pass_new'], 'root'
for i in push_resource:
task = MyTask(i)
pass_auth = task.passwd_auth
if pass_auth == 'pong':
res = task.chan_root_pw(username, password_new)
elif pass_auth == 'bad':
res = 'root密码错误,重新确认后再输入'
else:
push_resource, yml, upstreams, upstream, servers, server_ssls, locations = recvData['resource'], recvData['yml'], recvData['upstreams'], recvData['upstream'], recvData['servers'], recvData['server_ssls'], recvData['locations']
for i in push_resource:
task = MyTask(i)
pass_auth = task.passwd_auth
if pass_auth == 'pong':
task = App(i)
res = task.nginx_conf_deploy(yml, upstreams, upstream, servers, server_ssls, locations)
a = {}
a['mqqpass'] = i
res = dict(res, **a) print res
returnString = str(res)
return returnString s = ThreadedServer(ManagerService,port=28080,auto_register=False)
s.start()

rpyc的更多相关文章

  1. rpyc 回调模式工作不正常

    rpyc 回调模式工作不正常 最近使用了 rpyc 来处理一个多节点间的文件同步的任务,目标是使用 rpyc 来实现简单的 p2p 文件传输机制,以减少单点负载和单点失败对传输的影响. 和 p2p 的 ...

  2. Python之Rpyc模块

    简介 rpyc (Remote Python Call)为分布式计算环境提供了优良的基础平台.使用rpyc编写c/s结构程序,完全不用考虑老式的socket编程,现在只用编写简单的3.5行代码即可完成 ...

  3. 结合rpyc使用python实现动态升级的方法

    动态升级,就是程序不退出的情况下,将其代码更新的策略.假设集群含有多个机器,然后每个机器部署一套程序,当升级的时候就要去所有的上面部署一把. (1)有个包装程序专门负责接口并检查是否需要更新,当需要更 ...

  4. python rpyc 报错: AttributeError: cannot access 'new'

    Error msg: Traceback (most recent call last): File "/home/hpcm/Desktop/test/install/client.py&q ...

  5. python Rpyc简单使用

    客户端可以直接调用服务端代码. rpycserver #!/usr/bin/env python #coding:utf-8 from rpyc.core.service import SlaveSe ...

  6. rpyc + plumbum 实现远程调用执行shell脚本

    rpyc可以很方便实现远程方法调用, 而plumbum则可以实现在python中类似shell的方式编码: 具体实现代码如下: Server.py import rpyc from rpyc.util ...

  7. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  8. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  9. 知道创宇研发技能表v3.1

    by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought 说明 关于知道创宇 知行合一 | 守正出奇 知道创宇是一家黑客 ...

随机推荐

  1. SQL-字符串连接聚合函数

    原文:http://blog.csdn.net/java85140031/article/details/6820699 问题: userId  role_name         role_id 1 ...

  2. 五步让你玩转CocoaPods

    1 安装和升级 $ sudo gem install cocoapods  $ pod setup 2 更换为taobao的源 $ gem sources -r https://rubygems.or ...

  3. apk 反编译工具的使用

    在学习android 开发的时候,我们经常回尝试使用到别人的apk,希望能了解别人怎么编写的代码,于是想要一个能实现其反编译的软件,将软件反编译出来,查看其代码. 工具/原料 反编译软件dex2jar ...

  4. listView解决滑动时黑色背景问题

    listView.setCacheColorHint(Color.TRANSPARENT);//解决滑动时黑色背景问题 listView滑动时黑色背景问题 原因在于ListView存在缓存颜色机制,因 ...

  5. day08<面向对象+>

    面向对象(代码块的概述和分类) 面向对象(代码块的面试题) 面向对象(继承案例演示) 面向对象(继承的好处和弊端) 面向对象(Java中类的继承特点) 面向对象(继承的注意事项和什么时候使用继承) 面 ...

  6. 添加app第一次启动页面

    一.添加几个成员变量 @interface hDisplayView ()<UIScrollViewDelegate> { UIScrollView *_bigScrollView; NS ...

  7. Linux命令之乐--grep

    正则表达式基本组成部分 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* St ...

  8. php学习六:字符串

    前言:越来越觉得php的强大之处了,不紧是数组,在字符串方面也可以看出它的优势,第一:方法多,集合了js,c,c#等多门语言的方法:第二:有许多方法是其他语言不具备的,如他的模糊比较,就是其他语言所没 ...

  9. Swift/Objective-C-Swift与Objective-C混用教程

    简介:我想很多iOS开发者在知道Swift后,心中最大的问题就是如何将Swift应用到原有项目之中.下面我将简要介绍这2种语言的混用方法,内容参考自官方文档 Using Swift with Coco ...

  10. mysql 数据表读锁机制详解

    为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制.一.概述MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(tab ...