add ci/wsproxy
This commit is contained in:
parent
704016d190
commit
ba98e355f7
14
server/tools/scripts/ci/wsproxy/boundle.sh
Normal file
14
server/tools/scripts/ci/wsproxy/boundle.sh
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
cd third_party/wsproxy/server/
|
||||||
|
python ../tools/scripts/construct/build_pb.py
|
||||||
|
cmake .
|
||||||
|
make clean
|
||||||
|
make
|
||||||
|
cp ../bin/wsproxy ../../../../bin/
|
||||||
|
|
||||||
|
cd ../../../../
|
||||||
|
|
||||||
|
tag_name=`git status |grep '# On branch '|sed 's/# On branch //g'`
|
||||||
|
dir_name=`basename $PWD`
|
||||||
|
package_name=${dir_name}.tar.gz
|
||||||
|
|
||||||
|
tar --exclude=*.git -chzf target/${package_name} bin reload.sh restart.sh start_instance.sh manage.py config
|
74
server/tools/scripts/ci/wsproxy/manage.py
Executable file
74
server/tools/scripts/ci/wsproxy/manage.py
Executable file
@ -0,0 +1,74 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#coding utf8
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
|
||||||
|
def getRuningProgramPids(progname):
|
||||||
|
pids = []
|
||||||
|
lines = os.popen('ps -ef | grep %s' % progname).readlines()
|
||||||
|
for l in lines:
|
||||||
|
line = ''
|
||||||
|
oldc = ''
|
||||||
|
for c in l.strip():
|
||||||
|
if c in [' ', '\t'] and c == oldc:
|
||||||
|
continue
|
||||||
|
oldc = c
|
||||||
|
line += c
|
||||||
|
line = line.split(' ')
|
||||||
|
|
||||||
|
if line[7] == './%s' % progname:
|
||||||
|
pids.append(line[1])
|
||||||
|
return pids
|
||||||
|
|
||||||
|
def getExePath(pid):
|
||||||
|
return os.popen('ls -l /proc/%d | grep "exe ->" | cut -d " " -f 7-' % int(pid)).read()
|
||||||
|
|
||||||
|
def getExeCmdLine(pid):
|
||||||
|
return os.popen('cat /proc/%d/cmdline' % int(pid)).read()
|
||||||
|
|
||||||
|
def stop(instance_id):
|
||||||
|
wsproxy_ids = getRuningProgramPids('wsproxy')
|
||||||
|
pids = wsproxy_ids
|
||||||
|
for pid in pids:
|
||||||
|
exepath = getExePath(pid)
|
||||||
|
cmdline = getExeCmdLine(pid)
|
||||||
|
if cmdline == ("./wsproxy\0-i\0%d\0" % instance_id):
|
||||||
|
os.popen('kill -9 %d' % int(pid))
|
||||||
|
|
||||||
|
def listserver():
|
||||||
|
wsproxy_ids = getRuningProgramPids('wsproxy')
|
||||||
|
pids = wsproxy_ids
|
||||||
|
for pid in pids:
|
||||||
|
exepath = getExePath(pid)
|
||||||
|
cmdline = getExeCmdLine(pid)
|
||||||
|
print pid, exepath, cmdline
|
||||||
|
|
||||||
|
def restartServer(str_instance_ids):
|
||||||
|
instance_ids = str_instance_ids.split(',')
|
||||||
|
for instance_id in instance_ids:
|
||||||
|
instance_id = int(instance_id)
|
||||||
|
stop(instance_id)
|
||||||
|
time.sleep(0.5)
|
||||||
|
print 'wsproxy %d starting......' % instance_id
|
||||||
|
cmd = 'sh start_instance.sh %d' % (instance_id)
|
||||||
|
os.popen(cmd)
|
||||||
|
time.sleep(0.5)
|
||||||
|
|
||||||
|
def printHelp():
|
||||||
|
print 'usuage: [restart]'
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
if len(argv) == 1:
|
||||||
|
printHelp()
|
||||||
|
else:
|
||||||
|
if argv[1] == 'restart':
|
||||||
|
restartServer(argv[2])
|
||||||
|
elif argv[1] == 'stop':
|
||||||
|
stop()
|
||||||
|
elif argv[1] == 'list':
|
||||||
|
listserver()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main(sys.argv)
|
0
server/tools/scripts/ci/wsproxy/reload.sh
Normal file
0
server/tools/scripts/ci/wsproxy/reload.sh
Normal file
5
server/tools/scripts/ci/wsproxy/restart.sh
Executable file
5
server/tools/scripts/ci/wsproxy/restart.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
python manage.py restart $1
|
||||||
|
|
||||||
|
echo 'success'
|
4
server/tools/scripts/ci/wsproxy/start_instance.sh
Executable file
4
server/tools/scripts/ci/wsproxy/start_instance.sh
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd bin
|
||||||
|
nohup ./wsproxy -i $1 >> wsproxy$1.out 2>&1 &
|
Loading…
x
Reference in New Issue
Block a user