X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/c6dd542b51ae9549ad42a54f9023b905412bbab9..a89af9c2a38f19bc2834a2e09a286ff36c9ef3d7:/scripts/task_server.pl?ds=sidebyside diff --git a/scripts/task_server.pl b/scripts/task_server.pl index 1bcb719c9..1dbfb4505 100755 --- a/scripts/task_server.pl +++ b/scripts/task_server.pl @@ -1,24 +1,15 @@ #!/usr/bin/perl - -use List::MoreUtils qw(any); - use strict; my $exe_dir; BEGIN { use FindBin; - use lib "$FindBin::Bin/.."; - - use SL::System::Process; - $exe_dir = SL::System::Process::exe_dir; - - unshift @INC, "${exe_dir}/modules/override"; # Use our own versions of various modules (e.g. YAML). - push @INC, "${exe_dir}/modules/fallback"; # Only use our own versions of modules if there's no system version. - unshift @INC, $exe_dir; - chdir($exe_dir) || die "Cannot change directory to ${exe_dir}\n"; + unshift(@INC, $FindBin::Bin . '/../modules/override'); # Use our own versions of various modules (e.g. YAML). + push (@INC, $FindBin::Bin . '/..'); # '.' will be removed from @INC soon. + push (@INC, $FindBin::Bin . '/../modules/fallback'); # Only use our own versions of modules if there's no system version. } use CGI qw( -no_xhtml); @@ -29,9 +20,11 @@ use DateTime; use Encode qw(); use English qw(-no_match_vars); use File::Spec; +use List::MoreUtils qw(any); use List::Util qw(first); use POSIX qw(setuid setgid); use SL::Auth; +use SL::DBUpgrade2; use SL::DB::AuthClient; use SL::DB::BackgroundJob; use SL::BackgroundJob::ALL; @@ -42,6 +35,7 @@ use SL::LXDebug; use SL::LxOfficeConf; use SL::Locale; use SL::Mailer; +use SL::System::Process; use SL::System::TaskServer; use Template; @@ -63,7 +57,6 @@ sub initialize_kivitendo { package main; - Form::disconnect_standard_dbh; $::lxdebug = LXDebug->new; $::locale = Locale->new($::lx_office_conf{system}->{language}); $::form = Form->new; @@ -93,8 +86,7 @@ sub initialize_kivitendo { } sub cleanup_kivitendo { - eval { SL::DB::Auth->new->db->dbh->rollback; }; - eval { SL::DB::BackgroundJob->new->db->dbh->rollback; }; + eval { SL::DB->client->dbh->rollback; }; $::auth->save_session; $::auth->expire_sessions; @@ -107,9 +99,10 @@ sub cleanup_kivitendo { } sub clean_before_sleeping { - Form::disconnect_standard_dbh; SL::DBConnect::Cache->disconnect_all_and_clear; SL::DB->db_cache->clear; + + File::Temp::cleanup(); } sub drop_privileges { @@ -210,6 +203,18 @@ EOT exit 2; } + initialize_kivitendo(); + + my $dbupdater_auth = SL::DBUpgrade2->new(form => $::form, auth => 1)->parse_dbupdate_controls; + if ($dbupdater_auth->unapplied_upgrade_scripts($::auth->dbconnect)) { + print STDERR <show_backtrace(); - die <exe_dir; +chdir($exe_dir) || die "Cannot change directory to ${exe_dir}\n"; mkdir SL::System::TaskServer::PID_BASE() if !-d SL::System::TaskServer::PID_BASE();