diff --git a/PVE/Jobs.pm b/PVE/Jobs.pm index 40caf25..75f8706 100644 --- a/PVE/Jobs.pm +++ b/PVE/Jobs.pm @@ -109,13 +109,15 @@ my $get_job_task_status = sub { my ($task, $filename) = PVE::Tools::upid_decode($state->{upid}, 1); die "unable to parse worker upid - $state->{upid}\n" if !$task; - die "no such task\n" if !-f $filename; my $pstart = PVE::ProcFSTools::read_proc_starttime($task->{pid}); if ($pstart && $pstart == $task->{pstart}) { return; # still running } + # the task log might be gone, e.g. after a crash, do not let that block the job forever + return "task log not found" if !-f $filename; + return PVE::Tools::upid_read_status($state->{upid}); };