X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=scripts%2Ftask_server.pl;h=661c19a7640c6d722121f26b4b4d47b8417e9d83;hb=b6eb07c5b6482b9129d106548e7605c5f8b31c86;hp=d515e33c0e534e3b9886a86be0f8797474c72e9e;hpb=58c87e38fbfeec4e1453fd704754419a9a8d2688;p=kivitendo-erp.git diff --git a/scripts/task_server.pl b/scripts/task_server.pl index d515e33c0..661c19a76 100755 --- a/scripts/task_server.pl +++ b/scripts/task_server.pl @@ -82,6 +82,20 @@ sub initialize_kivitendo { $::form->{__ERROR_HANDLER} = sub { die @_ }; } +sub cleanup_kivitendo { + eval { SL::DB::Auth->new->db->dbh->rollback; }; + eval { SL::DB::BackgroundJob->new->db->dbh->rollback; }; + + $::auth->save_session; + $::auth->expire_sessions; + $::auth->reset; + + $::form = undef; + $::myconfig = (); + $::request = undef; + Form::disconnect_standard_dbh; +} + sub drop_privileges { my $user = $lx_office_conf{task_server}->{run_as}; return unless $user; @@ -199,6 +213,8 @@ sub gd_run { notify_on_failure(exception => $error); } + cleanup_kivitendo(); + debug("Sleeping"); my $seconds = 60 - (localtime)[0];