Мне нужно прочитать строки из базы данных MySQL и отправить на второй сервер через сокеты
Теперь мой код выглядит так:
Сначала я прочитал одну запись из базы данных:
#main
while True:
cursor.execute("UPDATE `row_sent` SET `result`='pending' WHERE result='new' order by rsid DESC LIMIT 1;")
cursor.execute("select * from row_sent WHERE `result`='pending' limit 1;")
if cursor.rowcount>0 :
waitedSig = cursor.fetchone()
cursor.execute("UPDATE `row_sent` SET `result`='pending' WHERE `rsid`='"+ format(waitedSig[0]) +"' limit 1;")
t = threading.Thread(target=sendData , args=((waitedSig),))
t.start()
time.sleep(0.1)
в этот момент я получаю запись и устанавливаю ее статус как ожидающий
затем при передаче через сокет
def sendData(sig):
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = clientsocket.connect(('xxx.xxx.xxx.xxx' , xxxxx ))
clientsocket.send( sig[0] + sig[1] )
data = clientsocket.recv(1024)
clientsocket.close()
наконец-то обновить строку задницы success
cursor.execute("UPDATE `row_sent` SET `result`='success' WHERE `rsid`='"+ format(waitedSig[0]) +"' limit 1;")
этот скрипт работает, но он очень медленный
кажется, это просто создать сокет после того, как последний сокет закончен!
Как я могу улучшить свою производительность?!