restenv: catch broadcast_tasklist errors gracefully

Don't die because the tasklist could not be broadcasted, just log the
error.
Else we may hinder all task to run with a quite confusing error (i.e.
"ipcc_send_rec: file to big").

This may happen if there are a lot currently running tasks at once.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2017-07-25 15:32:23 +02:00 committed by Fabian Grünbichler
parent 08b0c7c800
commit 9a42d8a201

View File

@ -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) {
@ -558,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;