Dabei werden unter Anderem potenziell noch laufende Transaktionen
beendet und zumindest das Standard-DBH (nicht das von Rose)
geschlossen. Dadurch sollten alle Locks, die durch die Jobs
evtl. entstanden sind, wieder aufgelöst worden sein.
$::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;
notify_on_failure(exception => $error);
}
+ cleanup_kivitendo();
+
debug("Sleeping");
my $seconds = 60 - (localtime)[0];