58 lines
1.6 KiB
Python
Executable File
58 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
|
||
import MySQLdb as mdb
|
||
import random
|
||
import sys
|
||
import subprocess
|
||
import time
|
||
|
||
sys.path.append("/usr/local/lib/python2.7/site-packages")
|
||
|
||
conn = mdb.connect(host='0.0.0.0',
|
||
port=3306,
|
||
user='xxx',
|
||
passwd='xxx',
|
||
db='xxx',
|
||
charset='utf8')
|
||
conn.autocommit(True)
|
||
cursor = conn.cursor()
|
||
|
||
|
||
sql = 'select id from xxx order by id desc limit 1'
|
||
r = cursor.execute(sql)
|
||
|
||
count = 0
|
||
for info in cursor.fetchall():
|
||
count = info[0]
|
||
conn.close()
|
||
|
||
|
||
def execShell(cmdstring, cwd=None, timeout=None, shell=True):
|
||
|
||
if shell:
|
||
cmdstring_list = cmdstring
|
||
else:
|
||
cmdstring_list = shlex.split(cmdstring)
|
||
if timeout:
|
||
end_time = datetime.datetime.now() + datetime.timedelta(seconds=timeout)
|
||
|
||
sub = subprocess.Popen(cmdstring_list, cwd=cwd, stdin=subprocess.PIPE,
|
||
shell=shell, bufsize=4096, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||
|
||
while sub.poll() is None:
|
||
time.sleep(0.1)
|
||
if timeout:
|
||
if end_time <= datetime.datetime.now():
|
||
raise Exception("Timeout:%s" % cmdstring)
|
||
|
||
return sub.communicate()
|
||
|
||
length = 100
|
||
for x in xrange(0, count / length + 1):
|
||
y = x * length
|
||
cmd = 'curl --basic -u admin:admin "http://127.0.0.1:8983/solr/sodht/dataimport?command=full-import&wt=json&clean=false&commit=true&length=' + \
|
||
str(length) + '&offset=' + str(y) + '"'
|
||
print execShell(cmd)
|
||
time.sleep(0.3)
|