Versionsnummer in Dokumentationen für 3.6.1 angepasst
[kivitendo-erp.git] / scripts / task_server.pl
index f11859b..f6c8f59 100755 (executable)
@@ -25,7 +25,7 @@ use SL::Auth;
 use SL::DBUpgrade2;
 use SL::DB::AuthClient;
 use SL::DB::BackgroundJob;
-use SL::BackgroundJob::ALL;
+use SL::System::Process;
 use SL::Form;
 use SL::Helper::DateTime;
 use SL::InstanceConfiguration;
@@ -262,7 +262,7 @@ sub run_single_job_for_all_clients {
 
     if (!$ok) {
       my $error = $EVAL_ERROR;
-      debug("Exception during execution: ${error}");
+      $::lxdebug->message(LXDebug::WARN(), "Exception during execution: ${error}");
       notify_on_failure(exception => $error);
     }
 
@@ -308,7 +308,7 @@ sub run_once_for_all_clients {
 
     if (!$ok) {
       my $error = $EVAL_ERROR;
-      debug("Exception during execution: ${error}");
+      $::lxdebug->message(LXDebug::WARN(), "Exception during execution: ${error}");
       notify_on_failure(exception => $error);
     }
 
@@ -321,6 +321,7 @@ sub gd_run {
     run_single_job_for_all_clients();
     return;
   }
+  $::lxdebug->message(LXDebug::INFO(), "The task server for node " . SL::System::TaskServer::node_id() . " is up and running.");
 
   while (1) {
     $SIG{'ALRM'} = 'IGNORE';
@@ -331,6 +332,11 @@ sub gd_run {
 
     clean_before_sleeping();
 
+    if (SL::System::Process::memory_usage_is_too_high()) {
+      debug("Memory usage too high - exiting.");
+      return;
+    }
+
     my $seconds = 60 - (localtime)[0];
     if (!eval {
       $SIG{'ALRM'} = sub {