Queue
A list of jobs waiting to be done, usually run by a separate service. One program adds a message, and a worker takes it later and deletes it when it's finished. The caller doesn't wait, and a spike of work waits in the queue and not on your server.
Told to send emails on signup, an agent writes the call inline, and now a slow mail server makes signup slow. Told to use a queue, it may not think about a worker dying halfway, a job that always fails, or a queue growing faster than it drains. Those are the questions to ask.
“Move sending the receipt onto a queue. The worker must be idempotent, keyed on the order id. Set the visibility timeout to 5 times the slowest job, send messages to a dead-letter queue after 5 failures, and add an alert on queue depth and on anything in the dead-letter queue.”