[dancer-users] Dancer app in production on Starman : Dancer::Plugin::Database Child process cannot use database handle created in parent
Scott Penrose
scottp at dd.com.au
Mon Feb 10 22:29:23 GMT 2014
Without any actual internal knowledge, my one guess would be forking.
If you make a database connection into a variable (e.g. database, or $dbh) then you fork, then you can no longer access that connection.
There is a way to share a pool of connections (in apache aka Apache::DBI) or I used to use PerChild directive on Apache to make a connection.
Now it should all be handled, but maybe it isn’t?
Scott
On 11 Feb 2014, at 9:23 am, Anthony Milan <anthony.milan at laposte.net> wrote:
> Le 10/02/2014 22:57, Anthony Milan a écrit :
>> Hi,
>>
>> I tried to deploy my little app with Starman:
>> plackup -E deployment -s Starman -p 5001 --workers=2 -a bin/app.pl
>>
>> I had this error:
>> Child process cannot use database handle created in parent
>>
>> I used Dancer::Plugin::Database to manage database
>>
>> In this thread:
>> http://lists.preshweb.co.uk/pipermail/dancer-users/2011-July/001681.html
>> I read that Dancer::Plugin::Database ensure that handles are not
>> shared between processes/threads.
>>
>> Most probably, I do something wrong :(
>
> I googled around starman and DBI and I execute
> Starman without plackup.
>
> starman -p 5000 --workers=2 -a ../bin/app.pl
>
> It seems to work. Any idea?
>
> Thanks
> --
> Anthony Milan
> _______________________________________________
> dancer-users mailing list
> dancer-users at dancer.pm
> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
More information about the dancer-users
mailing list