This example creates a job that logs a message. When dispatched, it prints the message to the console or log.
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
class LogMessageJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected string $message;
public function __construct(string $message)
{
$this->message = $message;
}
public function handle()
{
// Simulate logging by printing
echo "Logging message: {$this->message}\n";
}
}
// Dispatch the job
LogMessageJob::dispatch('Hello from the job!');