Django封装交互接口代码
我就废话不多说了,大家还是直接看代码吧~
#!/usr/bin/envpython
#-*-coding:utf-8-*-
__author__='_X.xx_'
__date__='2018/7/1816:44'
fromdjango.httpimportJsonResponse
classHttpCode(object):
ok=200
paramserror=400
unantu=401
methoderror=405
servererror=500
defok():
returnresult()
defresult(code=HttpCode.ok,message='',data=None,kwargs=None):
json_dict={'code':code,'message':message,'data':data}
ifkwargsandisinstance(kwargs,dict)andkwargs.keys():
json_dict.update(kwargs)
returnJsonResponse(json_dict)
defparams_error(message='',data=None):
returnresult(code=HttpCode.paramserror,message=message,data=data)
defunauth(message='',data=None):
returnresult(code=HttpCode.unantu,message=message,data=data)
defmethod_error(message='',data=None):
returnresult(code=HttpCode.methoderror,message=message,data=data)
defserver_error(message='',data=None):
returnresult(code=HttpCode.servererror,message=message,data=data)
补充知识:
galery.py文件内容
importpexpect
importos
importconfigparser
HOSTNAME_DB1='db1'
HOSTNAME_DB2='db2'
HOSTNAME_DB3='db3'
DB1='192.168.254.24'
DB2='192.168.254.27'
DB3='192.168.254.36'
PORT=22
USERNAME='root'
PASSWORD='root'
server3_cnf='sed-i"s/wsrep_node_name=db1/wsrep_node_name=db3/g"/etc/my.cnf.d/server.cnf;sed-i"s/wsrep_node_address=%s/wsrep_node_address=%s/g"/etc/my.cnf.d/server.cnf'%(DB1,DB3)
server2_cnf='sed-i"s/wsrep_node_name=db1/wsrep_node_name=db3/g"/etc/my.cnf.d/server.cnf;sed-i"s/wsrep_node_address=%s/wsrep_node_address=%s/g"/etc/my.cnf.d/server.cnf'%(DB1,DB3)
defconfig_parse():
config=configparser.ConfigParser()
config.read("/etc/my.cnf.d/server.cnf",encoding="utf-8")
config.set('galera','wsrep_on','ON')
config.set('galera','wsrep_provider','/usr/lib64/galera/libgalera_smm.so')
config.set('galera','wsrep_cluster_address','"gcomm://%s,%s,%s"'%(DB1,DB2,DB3))
config.set('galera','wsrep_node_name','%s'%HOSTNAME_DB1)
config.set('galera','wsrep_node_address','%s'%DB1)
config.set('galera','binlog_format','row')
config.set('galera','default_storage_engine','InnoDB')
config.set('galera','innodb_autoinc_lock_mode','2')
config.set('galera','wsrep_slave_threads','1')
config.set('galera','innodb_flush_log_at_trx_commit','1')
config.set('galera','innodb_buffer_pool_size','120M')
config.set('galera','wsrep_sst_method','rsync')
config.set('galera','wsrep_causal_reads','ON')
config.write(open('/etc/my.cnf.d/server.cnf','w'))
defcp_server_cnf():
child1=pexpect.spawn('scp/etc/my.cnf.d/server.cnf%s@%s:/etc/my.cnf.d/server.cnf'%(USERNAME,DB2))
child1.expect('password:')
child1.sendline(PASSWORD)
child1.interact()
child1.close()
child2=pexpect.spawn('scp/etc/my.cnf.d/server.cnf%s@%s:/etc/my.cnf.d/server.cnf'%(USERNAME,DB3))
child2.expect('password:')
child2.sendline(PASSWORD)
child2.interact()
child2.close()
defconn_db(ip,cnf):
child3=pexpect.spawn('ssh%s@%s'%(USERNAME,ip))
child3.expect('password:')
child3.sendline('root')
child3.expect('#')
child3.sendline(cnf)
child3.expect('#')
child3.sendline('systemctlrestartmariadb>/dev/null')
child3.sendline('exit')
child3.interact()
child3.close()
definit_cmd():
res1=os.system('servicemariadbstop')
res2=os.system('mysqld_safe--wsrep_cluster_address=gcomm://%s,%s,%s>/dev/null&'%(DB1,DB2,DB3))
res3=os.system('galera_new_cluster&>/dev/null')
ifres2==0:
print('galera初始化完成')
ifres3==0:
print('galera集群已经启动')
else:
print('galera集群启动失败')
else:
print('galera初始化失败!')
defmain():
config_parse()
cp_server_cnf()
init_cmd()
conn_db(DB2,server2_cnf)
conn_db(DB3,server3_cnf)
if__name__=='__main__':
main()
以上这篇Django封装交互接口代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。