PyMySQL застрял на fetch_one () без ошибок - PullRequest
0 голосов
/ 30 декабря 2018

Здравствуйте, вот часть моего кода:

db = pymysql.connect(
    host = ....., 
    user = ....., 
    passwd = ....., 
    db = ....., 
    port = ....., 
    connect_timeout = 5 , 
    use_unicode = True, 
    charset = "utf8",
    autocommit = True,
)

c = db.cursor(pymysql.cursors.SSDictCursor)
data  = c.execute(my_query) # for example SELECT * FROM PEOPLE
run = True
while run:
    ### processing in batches of 50
    batch = []
    for i in range(50):
        row = data.fetchone()
        if not row:
             run = False 
             break 
        row = do_something(row)
        batch += [row]

    do_stuff_that takes_3_minutes(batch)

Моя проблема в том, что примерно через час этот код застревает на data.fetchone(), но он не завершает работу и не показывает ошибокзастревает на нем.я знал это, потому что я добавил оператор печати до и после каждой инструкции, а последним выводом на консоль была печать перед fetchone()

...