diff --git a/lib/OpenQA/Scheduler/Model/Jobs.pm b/lib/OpenQA/Scheduler/Model/Jobs.pm index ce172712720..6efb1ccc429 100644 --- a/lib/OpenQA/Scheduler/Model/Jobs.pm +++ b/lib/OpenQA/Scheduler/Model/Jobs.pm @@ -458,7 +458,9 @@ sub _assign_multiple_jobs_to_worker ($self, $jobs, $worker, $directly_chained_jo if (my $tmpdir = $worker->get_property('WORKER_TMPDIR')) { File::Path::rmtree($tmpdir); } - my %worker_properties = (JOBTOKEN => random_string(), WORKER_TMPDIR => tempdir()); + my %worker_properties = ( + JOBTOKEN => random_string(), + WORKER_TMPDIR => tempdir(sprintf('webui.worker-%d.XXXXXXXX', $worker_id), TMPDIR => 1)); $worker->set_property(WORKER_TMPDIR => $worker_properties{WORKER_TMPDIR}); $job_data{$_->id} = $_->prepare_for_work($worker, \%worker_properties) for @$jobs; return OpenQA::WebSockets::Client->singleton->send_jobs(\%job_info); diff --git a/lib/OpenQA/Schema/Result/Jobs.pm b/lib/OpenQA/Schema/Result/Jobs.pm index b5de7ec7b5c..0b683910a7f 100644 --- a/lib/OpenQA/Schema/Result/Jobs.pm +++ b/lib/OpenQA/Schema/Result/Jobs.pm @@ -387,7 +387,7 @@ sub prepare_for_work ($self, $worker = undef, $worker_properties = {}) { if (my $tmpdir = $worker->get_property('WORKER_TMPDIR')) { File::Path::rmtree($tmpdir); } - $worker->set_property(WORKER_TMPDIR => tempdir()); + $worker->set_property(WORKER_TMPDIR => tempdir(sprintf('webui.worker-%d.XXXXXXXX', $worker->id), TMPDIR => 1)); } return $job_hashref; }