ITADN

[Bug] `DBD::Pg` using Plack, causes odd disconnects to database

#14Closedrawleyfowler 创建于 2024-09-12
bug
R
rawleyfowlercommented
```perl use strict; use warnings; use Plack::Builder; use Plack::Response; use DBI; use Dotenv -load; my $dbh = DBI->connect($ENV{ADMIN_DB_DSN}, $ENV{ADMIN_DB_USERNAME}, $ENV{ADMIN_DB_PASSWORD}, {}); my $app = sub { my ($env) = @_; my $request = Plack::Request->new($env); if ($request->path ne '/') { return Plack::Response->new(404)->finalize; } my $response = Plack::Response->new(200); $response->content_type('text/html'); my $users = $dbh->selectall_arrayref('select * from users', {Slice => {}}); $response->body(@$users); return $response->finalize(); }; builder { enable 'SlapbirdAPM'; $app; }; ``` You'll see that this works for the first request, but subsequent requests throw: ``` DBD::Pg::db selectall_arrayref failed: no connection to the server at /home/rawley/perl5/lib/perl5/SlapbirdAPM/DBIx/Tracer.pm line 537. ```
关闭于 2024-09-12 0 条评论