Я использую асинхронный рабочий процесс с синхронным кодом внутри него.Как проверить, блокируют ли синхронные функции или нет, чтобы убедиться, что во время выполнения ничего не нарушается.
async def download_upload_xmls_async(message,count,id,conn1,cursor1,conn2,cursor2):
# SOME CODE
xml = await req(urlX, headers)
print('Got message')
write(message_count, id, conn1, cursor1)
print('Wrote progress')
send_message("Send" + xml, id, conn2, cursor2)
print('Sent message')
write_locally(data)
await message.ack()
В приведенном выше коде как проверить, что функции write и send_message не блокируют?Они работают с БД, что я не могу получить доступ, чтобы проверить, все ли работает, как ожидалось.Также могу ли я предположить, что если функция write_locally работает правильно, то мои предыдущие функции также работали правильно?
Функции write и send_message выполняют почти одно и то же - они принимают данные и выполняют запрос к базе данных PostgreSQL, используя соединение, и курсор передается вих.Функция write_locally делает запись в CSV-файл.
def send_message(message, id, con, cur, **nargs):
params = {
#some params
}
union_params= {**params, **nargs}
data = json.dumps(union_params, ensure_ascii=False)
cur.execute(
#Query
)
con.commit()
Также я должен добавить, что соединение и курсор были созданы с помощью aiopg, поэтому все их методы являются сопрограммами.