Failed Jobs
What Makes a Job Fail?
Where Failed Jobs Are Stored
Database Storage (Recommended)
CREATE TABLE queue_failed_jobs (
id INT AUTO_INCREMENT PRIMARY KEY,
connection VARCHAR(255) NOT NULL,
queue VARCHAR(255) NOT NULL,
payload TEXT NOT NULL,
exception TEXT NOT NULL,
failed_at DATETIME NOT NULL,
INDEX(queue)
);Redis Storage (Fallback)
Viewing Failed Jobs
Using MySQL
Using Redis CLI
The failed() Method
Common Failed Job Scenarios
Scenario 1: External API Failure
Scenario 2: Invalid Data
Scenario 3: Resource Unavailable
Inspecting Failed Jobs
Get Job Details
Analyze Failure Patterns
Retrying Failed Jobs
Manual Retry
Bulk Retry
Cleaning Up Failed Jobs
Delete Old Failed Jobs
Automated Cleanup Script
Monitoring Failed Jobs
Alert on Failure Threshold
Dashboard Query
Best Practices
1. Always Implement failed()
2. Set Appropriate max_tries
3. Regular Cleanup
4. Monitor Failure Patterns
Next Steps
Last updated