Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1Vk8-0005nK-EA for psycopg@arkaria.postgresql.org; Mon, 18 Jan 2021 14:42:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l1Vk7-0006XB-7Z for psycopg@arkaria.postgresql.org; Mon, 18 Jan 2021 14:42:55 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1Vk7-0006X4-2V; Mon, 18 Jan 2021 14:42:55 +0000 Received: from mout.gmx.net ([212.227.17.21]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1Vk4-00084A-Iz; Mon, 18 Jan 2021 14:42:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1610980969; bh=atvX9Ix7JrjwWErmaK8LVEhnqZ6NcnD3xK9BBQR4brk=; h=X-UI-Sender-Class:Date:From:To:Subject:References:In-Reply-To; b=VTwthGZm5AnlknMQYEQUxwHjhgiVxm6QiLIrwDOaXYm654F1dRbIFDPM6SB67h9hZ XvKN4GhYTN/iJP1FrBORGubGWxycN3CgKgHFBLVYaVK2pOLwZRUehQ/RzbMz+3b06G gs0MN4+QNHfk1UAUwVGSRbGA2B//K7CkMl0ndvwA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from hermes ([89.12.167.206]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MBDnC-1lByn11Hf4-00CeZ6; Mon, 18 Jan 2021 15:42:49 +0100 Received: from ncq by hermes with local (Exim 4.94) (envelope-from ) id 1l1Vjy-0002Cb-9P; Mon, 18 Jan 2021 15:42:46 +0100 Date: Mon, 18 Jan 2021 15:42:46 +0100 From: Karsten Hilbert To: psycopg@lists.postgresql.org, psycopg@postgresql.org Subject: Re: Designing a better connection pool for psycopg3 Message-ID: Mail-Followup-To: psycopg@lists.postgresql.org, psycopg@postgresql.org References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Ma_X_il-Followup-to: d Re_X_turn-receipt-to: Karsten.Hilbert@gmx.net Di_X_sposition-Notification-To: Karsten.Hilbert@gmx.net X-Confi_X_rm-Reading-To: Karsten.Hilbert@gmx.net X-Pri_X_ority: 2 (High) Sender: X-Provags-ID: V03:K1:Sbt4YwUs/SU45EZ95PK0bYkSeiaaNH4B7/dv0wZYcBrkmj+huZk YJhVuTmFkPBVISAoMfL4pBLwpv3XvTa8st/7A/jmgvPyLMxHHepXBb1pW62CRM4Dhs/bbcz cVJKpQnQzF6rIE3f3hYhrgOfKQV2JVoaHNYO4n0MGp8DyFN0ENBI/q6bF2cjQwGFIM0TQ7v Oc2ZI5Zz/QcCGLR1+tg9Q== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:LPHSHAyYM54=:/v10I17hDFpIRB6dwQC6nm yDEf12GyAV8Tq3eBULrxFxyQf9wmV7Ws1kuAiXqLcpacA84Q8rsMtypgVUXT1U7BxJKQ0B7za ZVFZJsqdxXLprf6N/mhUnfugiDMdLb8h2e7k6VhdIkdf8Oo8QrHwbjZ19cIM2xWjAFF5rg46w JC9c3vD2ysnwFStJ2yLlu19XOpOhKybqTbzPB7DMLxrlGBfi/gqFPcSgYlZySVEcs4E7Zar6Y QeTxem4cCT5TaSSGYk3b4jdmh8YnfsZQW7dXL9nX9z4bcJIT55D5PVNM9NVmdraMpJpyFo7he JcgY0q9EWRGA01QfR2liCn0PA9GOOGvqlxw+TiNEPiSwGKYrL0ZxWfjIGdURODOV4H5kidouI yKBjYcbYNYcJdG1wrMKfLyVytBzFkYc8ULQpand9Nky6taYZVxjHpHcmhF1ZuP0DLQAeRxQN/ 6S3fzySioFi8wPyNbrVTP9jL2nCAxGWKOWWgU8EaYUuzR8gA1Bs/0VdBjDuhytfvP/nYS91fQ XZ/wjaMkMNEaL52zMDy8fRbGPtcQyCh+w3U1iR+Vzyre4ZeRFnEnp5uYh05ZO+3y8urayUFyT Z1nkspCidufRzAYhi9jNOs1PIyX+QuZ/2v1cV7Eazln5XrUA90JnaVAy4/+RkqTK3UfHKgzcL bdcv0eSLuDIoq1gx8/DumyKrVskpXYX8wVHrmMNpWvOFjqXQWSIFQijxz+zOXTew2W7CTluJ8 g5yD6YwTsTiKJ40eXtmFkofzVb40GwBiehZeB4wPdr/BBuPgaC6zAqQwUEQ7yNn7C9OUhxAs8 u9wy4hkIjNq2wLYoWoNmqL0SNeNCkBx6XZp7R5c0xMJNcC+QlLVn0To84Vs5nII2H31bAOOjA XCpvn+tzR+xJ8l0M0PD58tLoDQSF66/shSYvTsJ5c= Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Am Mon, Jan 18, 2021 at 03:29:34PM +0100 schrieb Daniele Varrazzo: > Anyway I appreciate that the default of terminating a program is > probably too aggressive. So I would remove the `terminate()` function > and base implementation and leave a `connection_failed()` handler, > with a default no-op implementation, which people preferring their > program to terminate can subclass (with `sys.exit(1)` or whatever > termination strategy they find useful). +1 Some apps may just gladly carry on buffering data locally, and sending them to the backend next time they get a chance to do so. Karsten =2D- GPG 40BE 5B0E C98E 1713 AFA6 5BC0 3BEA AC80 7D4F C89B