Итак, у меня есть очень простое приложение, которое получает запрос через 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)