A job is a class that represents a task to run in a queue. Its handle method contains the work. You send it with dispatch, and you configure retries (tries), the delay between attempts (backoff) and failure handling. A job must be idempotent, because it can be replayed.
Example
class SendMailJob implements ShouldQueue
{
public $tries = 3;
public function handle(): void { /* ... */ }
}