#!/usr/bin/perl -w
# fastcgi for use as Apache process:
# FastCgiServer /path/to/lims.fcgi -processes 2
use strict;
use warnings;
BEGIN { # set active db to production - default is `test`
use FindBin qw($Bin); # warn 'BIN:'.$Bin;
# set lib paths for app:
use lib (
'/home/raj/perl5/lib/perl5',
"$Bin/../lib",
"$Bin/..",
);
}
use CGI::Fast();
use LIMS::Dispatch;
=begin
use FCGI::ProcManager;
my $proc_manager = FCGI::ProcManager->new({processes => 2});
$proc_manager->pm_manage();
=cut
while ( my $q = CGI::Fast->new() ) {
# $proc_manager -> pm_pre_dispatch();
# override default db test:
$ENV{ROSEDB_DEVINIT} = "$Bin/../config/rosedb_devinit_prod.pl";
# set flag for LIMS::_set_cgisession_options & QueryLog:
$ENV{FAST_CGI} = 1;
eval {
LIMS::Dispatch->dispatch(
args_to_new => { QUERY => $q },
default => '',
debug => 0,
);
};
# $proc_manager -> pm_post_dispatch();
# warn $@ if $@;
my $err = $@;
if ($err) {
warn "$0 error: $err";
exit 0; # to free $dbh from stuck transaction and restart process(es)
}
}