подключение нескольких сокетов Python к одному серверу от одного клиента - PullRequest
0 голосов
/ 30 октября 2018

Мне нужно прочитать строки из базы данных 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;")

этот скрипт работает, но он очень медленный кажется, это просто создать сокет после того, как последний сокет закончен! Как я могу улучшить свою производительность?!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...