简单暴力的脚本
对mysql数据库进行数据持续写入
#!/bin/python
import datetime
import sys
import time
from sqlalchemy import create_engine
from sqlalchemy.exc import InvalidRequestError
from sqlalchemy.orm import sessionmaker
def main(domain, port, user, pwd, db, table):
connect = "mysql://" + user + ":" + pwd + "@" + domain + ":" + port + "/" + db + "?autocommit=true"
engine = create_engine(connect)
session = sessionmaker(engine)
mySession = session()
flag = 0
while True:
try:
sql = 'insert into ' + table + ' (`uuid`,`created`,`flag`) values (uuid(),now(),' + str(flag) + ')'
before = datetime.datetime.now()
result = mySession.execute(sql)
after = datetime.datetime.now()
time.sleep(0.1)
flag = flag + 1
except InvalidRequestError:
mySession.rollback()
continue
except Exception as ex:
if "Table '" + db + "." + table + "' doesn't exist" in str(ex):
mySession.execute('create table ' + db + "." + table + '(pkid int(20) not null AUTO_INCREMENT primary key , uuid varchar(36),created datetime, flag int(10))')
mySession.close()
time.sleep(1)
print datetime.datetime.now(), ex
continue
print before, after, flag, result
if __name__ == '__main__':
import sys
print len(sys.argv)
if len(sys.argv) != 7:
print "py domain, port, user, pwd, db, table"
sys.exit(1)
host, port, user, pwd, db, table = sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6]
sys.exit(main( host, port, user, pwd, db, table))