On Tue, Sep 30, 2025, at 3:08 PM, Claude Pache wrote: >> Le 30 sept. 2025 à 17:40, Larry Garfield <[email protected]> a écrit : >> >> >> What would be valuable is easier RE-connection logic. Either PHP or MySQL >> may terminate an idle connection, which is a concern in long-running >> processes (Queue workers, ReactPHP, Franken, etc.). Tools like Doctrine >> have built their own refresh logic in, although they're not always >> consistent with each other or obvious to use. Having some kind of >> reconnection logic built into PDO that "just works" would be very valuable. >> >> What that would look like, I'm not sure. Just spitballing: >> >> // After X seconds, drop and reopen the connection the next time it's used. >> $pdo->reconnectAfter($seconds); >> >> --Larry Garfield > > Auto-reconnection is dangerous, because database engines are stateful. > For example, disaster will happen if disconnection had occurred in the > middle of a transaction... > > —Claude
All the more reason that the logic should be implemented once in PDO and then shared, rather than everyone having to figure it out in user space themselves. I'm not suggesting that PDO actively try to disconnect all the time. But if the connection is "stale," it should be able to restart it without making the user faff about to do so. (Whether that's via detecting that it's gone away, a timer, or whatever else, I'm very flexible.) --Larry Garfield
