Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
<?php // Generate a job: php artisan make:job ProcessPodcast // app/Jobs/ProcessPodcast.php namespace App\Jobs; use App\Models\Podcast; use App\Services\AudioProcessor; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; class ProcessPodcast implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public int $tries = 3; public int $timeout = 120; public function __construct( public readonly Podcast $podcast ) {} public function handle(AudioProcessor $processor): void { $processor->transcode($this->podcast->file_path); $this->podcast->update(['processed' => true]); } public function failed(\Throwable $e): void { // Notify developer or mark podcast as failed \Log::error('Podcast processing failed: ' . $e->getMessage()); } } // Dispatch from a controller: // ProcessPodcast::dispatch($podcast); // ProcessPodcast::dispatch($podcast)->onQueue('audio')->delay(now()->addMinutes(5));
Result
Open