X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=src%2FPVE%2FRESTEnvironment.pm;h=bab4a2e1843fa763dbeeb0a76ccd973590f1725b;hp=fc820fc0c8df4f95c9148083087f78724e912ec7;hb=9a42d8a2011ec29f72c2c4edaca1486d8b68c566;hpb=dc9c3ffa6c415784664e11df10377703cf18941a diff --git a/src/PVE/RESTEnvironment.pm b/src/PVE/RESTEnvironment.pm index fc820fc..bab4a2e 100644 --- a/src/PVE/RESTEnvironment.pm +++ b/src/PVE/RESTEnvironment.pm @@ -47,7 +47,8 @@ my $log_task_result = sub { } my $tlist = $rest_env->active_workers($upid); - $rest_env->broadcast_tasklist($tlist); + eval { $rest_env->broadcast_tasklist($tlist); }; + syslog('err', $@) if $@; my $task; foreach my $t (@$tlist) { @@ -60,8 +61,7 @@ my $log_task_result = sub { $msg = $task->{status}; } - $rest_env->log_cluster_msg($pri, $user, "end task $upid $msg") - if $rest_env; + $rest_env->log_cluster_msg($pri, $user, "end task $upid $msg"); }; my $worker_reaper = sub { @@ -210,11 +210,11 @@ sub set_user { } sub get_user { - my ($self) = @_; + my ($self, $noerr) = @_; - die "user name not set\n" if !$self->{user}; + return $self->{user} if defined($self->{user}) || $noerr; - return $self->{user}; + die "user name not set\n"; } sub is_worker { @@ -319,7 +319,6 @@ sub active_workers { # we try to reduce the amount of data # list all running tasks and task and a few others # try to limit to 25 tasks - my $ctime = time(); my $max = 25 - scalar(@$tlist); foreach my $task (@ta) { last if $max <= 0; @@ -560,7 +559,8 @@ sub fork_worker { $self->log_cluster_msg('info', $user, "starting task $upid"); my $tlist = $self->active_workers($upid, $sync); - $self->broadcast_tasklist($tlist); + eval { $self->broadcast_tasklist($tlist); }; + syslog('err', $@) if $@; my $res = 0;