#=============================================================================== # why D2::Session::Simple sessions don't work propely with Starman # Using sessions with perl Dancer/plack/Starman and multiple workers # https://stackoverflow.com/questions/28920848/using-sessions-with-perl-dancer-plack-starman-and-multiple-workers #=============================================================================== ## plackup sessiontest.pl -r -p 3000 [-s Twiggy/Gazelle/Starman/Starlet] # Twiggy and default HTTP::Server::PSGI work OK, Gazelle & Starlet don't # increment counter at all, Starman increments counter OK for delay between # reloads of around 1 sec or less #### watch session ID change, or not, depending on server type, in console output use Dancer2; use Data::Printer; get '/sessiontest' => sub { my $testcounter = session 'testcounter' || 0; $testcounter++; p my $id = 'session id=' . session->id; info 'SESSION COUNTER = ' . $testcounter; session testcounter => $testcounter; # p my $s = session; my $pid = $$; # p $pid; return qq!
counter: $testcounter [pid:$pid] « click to reload !; }; dance;