Skip to content

Commit 4de8a8f

Browse files
committed
improve job dispatching for media optimization and preview generation
1 parent fcdbf46 commit 4de8a8f

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

src/FileStorage.php

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,7 @@ protected function persistMedia(Media $media, ?UploadedFile $uploadedFile): Medi
131131
throw new UploadException();
132132
}
133133

134-
if ($this->config->generatePreview) {
135-
$this->generatePreview($media);
136-
}
134+
$this->dispatchJobs($media);
137135

138136
AfterMediaUploaded::dispatch($media);
139137
}
@@ -145,17 +143,22 @@ protected function persistMedia(Media $media, ?UploadedFile $uploadedFile): Medi
145143
}
146144

147145
/**
148-
* Generate preview for the given Media.
146+
* Dispatches jobs for optimizing and generating preview.
149147
*/
150-
protected function generatePreview(Media $media): void
148+
protected function dispatchJobs(Media $media): void
151149
{
150+
$jobs = [];
151+
152152
if ($media->is_image) {
153-
Bus::chain([
154-
new OptimizeImage($media),
155-
new GeneratePreview($media),
156-
])->onQueue($this->config->queueName)->dispatch();
157-
} elseif ($media->is_pdf) {
158-
GeneratePreview::dispatch($media)->onQueue($this->config->queueName);
153+
$jobs[] = new OptimizeImage($media);
154+
}
155+
156+
if ($this->config->generatePreview && ($media->is_image || $media->is_pdf)) {
157+
$jobs[] = new GeneratePreview($media);
158+
}
159+
160+
if ($jobs) {
161+
Bus::chain($jobs)->onQueue($this->config->queueName)->dispatch();
159162
}
160163
}
161164

0 commit comments

Comments
 (0)