SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Förstasida   Anmälning   Postarkiv   Forum   Kalender   Sök
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] fork problem med DBD::Pg (REDIGRET PGA DÅRLIGT DANSK :| )



Selvfølgelig har jeg først opdaget nu i DBI man page:

----
Threads and Thread Safety
[...], the internal pointer data within the handles will refer to the DBI
and drivers in the original interpreter. Using those handles in the new
interpreter thread is not safe, so the DBI detects this and croaks on any
method call using handles that don't belong to the current thread (except
for DESTROY).
Because of this (possibly temporary) restriction, newly created threads must
make their own connctions to the database. Handles can't be shared across
threads.
[...]
Using DBI with perl threads is not yet recommended for production
environments.
---

:(


----- Original Message -----
From: "Valdemar Lemche" <sslug@sslug>
To: <sslug@sslug>
Sent: Wednesday, September 03, 2003 1:32 PM
Subject: Re: [PERL] fork problem med DBD::Pg (REDIGRET PGA DÅRLIGT DANSK
:| )


> (jeg underskylde den forrige mail, men jeg simplethen for uforståelig)...
>
> Et dbh *skulle* blive bevared i in fork*, fx virker dbd::mysql (dog virker
> dbd::mysql ikke, hvis du start mere end en fork, som bruger samme dbh).
> Alligevel har jeg stadig et problem med dbd::mysql. Selv om jeg skaber fx
10
> forskellige dbh, og senere forsøger at kalde hver de forskellige dbh'er i
> hver sin fork, så virker det heller ikke...
>
> * Som Randal Schwartz, Tom Christiansen & Larry Wall skriver i 'Learning
> Perl, Second Edition' fra O'Reilly:
> " [...] The fork function simply does what the fork (2) system call does:
it
> creates a clone of the current process. This clone (called the child, with
> the original called the parent) shares the same executable code,
variables,
> and even open files. [...] "
>
> PS. Det virker, hvis jeg skabe dbh'en i fork processen, men det skabe en
> 'performance penalty', der er så markant, at det ikke er en acceptable
> løsning.
>
> ----- Original Message -----
> From: "Valdemar Lemche" <sslug@sslug>
> To: <sslug@sslug>
> Sent: Wednesday, September 03, 2003 12:56 PM
> Subject: Re: [PERL] fork problem med DBD::Pg
>
>
> > Et dbh *skulle* blive bevared i in fork*, fx virker dbd::mysql (dog ikke
> > hvis du start mere in en fork som bruger samme dbh). Dog har jeg stadig
et
> > problem med dbd::mysql. Selv om jeg skaber fx 10 forskellige dbh, og
> senere
> > forsøger at kalde hver de forskellige dbh'er i hver sin fork, så virker
> > jen...
> >
> > * Som Randal Schwartz, Tom Christiansen & Larry Wall skriver i 'Learning
> > Perl, Second Edition' fra O'Reilly:
> > " [...] The fork function simply does what the fork (2) system call
does:
> it
> > creates a clone of the current process. This clone (called the child,
with
> > the original called the parent) shares the same executable code,
> variables,
> > and even open files. [...] "
> >
> > PS Det virker, hvis jeg skabe dbh'en i fork processen, men det skabe en
> > 'performance penalty', der er så markant, at det ikke er en acceptable
> > løsning.
> >
> >
> > ----- Original Message -----
> > From: "Lars Thegler" <sslug@sslug>
> > To: <sslug@sslug>
> > Sent: Tuesday, September 02, 2003 10:48 PM
> > Subject: Re: [PERL] fork problem med DBD::Pg
> >
> >
> > > Er du sikker på, at du kan bevare en db handle hen over et fork? Prøv
> evt
> > at
> > > connect'e *efter*at du har fork'et.
> > >
> > > /Lars
> > >
> > > ----- Original Message -----
> > > From: "Valdemar Lemche" <sslug@sslug>
> > > To: <sslug@sslug>
> > > Sent: Tuesday, September 02, 2003 4:07 PM
> > > Subject: [PERL] fork problem med DBD::Pg
> > >
> > >
> > > > Hej,
> > > > jeg har et problem med DBD::Pg (eller DBI).
> > > > Jeg skaber DBI handle, $dbh, i main, og forsøger at bruge 'do'
senere
> i
> > en
> > > > fork'ed process, men jeg får fejlen, "DBD::Pg::db do failed: server
> > closed
> > > > the connection unexpectedly at [...]" og bagefter "DBD::Pg::db do
> > failed:
> > > no
> > > > connection to the server at [...]".
> > > >
> > > > Jeg håber, at nogen har en ide hvorfor det ikke funker... :|
> > > >
> > > > perl er "v5.8.0 built for i386-linux-thread-multi"
> > > > DBI er 1.35
> > > > DBD::Pg er 1.22
> > > >
> > > > alle er fra deb pakker fra debian sarge.
> > > >
> > > > --- Mfg. Regards, Mvh.
> > > > Valdemar Lemche
> > > >
> > > > "Intuitive Software can easily be learned.
> > > > You just have to work at it for a long time."
> > > > - Ponder Stibbons, Unseen University
> > > >
> > >
> > >
> >
>



 
Förstasida   Anmälning   Postarkiv   Översikt   Kalender   Sök

 
 
Fel och synpunkter angående webb-sidorna skickas till <www_admin>. Senaste ändring 2005-08-10, klockan 19:55
Denna sidan underholds av MHonArc .