170 похожих чатов

Приветствую, недавно пишу на go. При использовании pgx какую роль играет

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

11 ответов

14 просмотров

Для отмены запросов.

А вот мне интересно, при этом TCP соединение будет разорвано, или нет?

Ilya Kaznacheev
А вот мне интересно, при этом TCP соединение будет...

Нет, но выставит дедлайн на сейчас, чтобы вернуть ответ сразу, как отменится контекст. https://github.com/jackc/pgx/blob/master/pgconn/pgconn.go#L404

Ilya Kaznacheev
А вот мне интересно, при этом TCP соединение будет...

Для того что бы сделать отмену запроса, создается новое подключение к PostgreSQL https://habr.com/ru/companies/avito/articles/716516/ что может приводить к повышенной нагрузке на PostgreSQL

Deadline в net.Conn на само соединение никак не влияет, это по сути настройка рантайма

Таков протокол у PostgreSQL

Dmitry M
Таков протокол у PostgreSQL

Я понимаю. Интересно, почему такой протокол у постгреса.

Владимир Столяров
Deadline в net.Conn на само соединение никак не вл...

эээ... А что эта настройка рантайма тогда делает?

Roman Timofeev
эээ... А что эта настройка рантайма тогда делает?

Возвращает управление коду. Ожидание байтов по сети же асинхронное.

Roman Timofeev
эээ... А что эта настройка рантайма тогда делает?

Говорит, к какому времени надо разблокировать чтение или запись. Я проверял, если он истёк, то его можно снять или продлить и соединение будет вполне работать дальше

Vadim
Возвращает управление коду. Ожидание байтов по сет...

Нельзя же отменить запрос на той стороне. Ты можешь только отменить ожидание пакетов, но пакеты, если соединение еще живое, все равно придут потом.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта