Warning raised by Caio Almeida: moving slow work to background jobs is not always faster. If you serialize a big object into the job payload, you may spend more time serializing/deserializing than you saved, and queues can run slower than foreground. Best practice: pass numeric IDs only and reload objects inside the job; sometimes a fresh database query is faster than unserializing a large object from the job payload.