Когда SQLITE записывает данные на диск? - PullRequest
0 голосов
/ 07 января 2019

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

Проблема, с которой я столкнулся, заключается в том, что процесс отправки вызова API на сервер и получения ответа завершен до того, как начальная запись произойдет в SQLite. Поэтому, когда я пытаюсь обновить базу данных, она не существует. При вставке данных я делаю коммит, но кто-нибудь знает, почему запись не такая мгновенная, как я предполагал?

Для вставки указан мой код: Да, вставка работает

def insert_into_database(dbname,table,**kwargs):
    conn = sqlite3.connect(dbname)

    #generate a unique ID
    id=get_a_uuid()
    #generate the current date for timestamps
    d=datetime.datetime.now()

    fieldnames,values = create_command_line(kwargs)

    insert="INSERT INTO "+table+" (ID,DATE,"+fieldnames+") VALUES ('"+id+"','"+str(d)+"',"+values+")"
    print (insert)
    try:
        conn.execute(insert)
        conn.commit()
    except (sqlite3.Error) as e:
        print(e)
        return(False,str(e))
    conn.close()
    return(True,id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...