Database Queue Driver
I am a one-man SaaS running Laravel 10 + MySQL 8.
I've found posts from a few years ago with Taylor saying DB queue was a bad idea, but then others saying MySQL 8 has resolved bottleneck issues, so that statement is now outdated.
Here are my concerns with Redis:
- I don't fully understand it. I can't see it easily without being SSH'd into the server.
- I can't easily see the queued jobs anywhere (right?). If it crashes, I won't know until I start getting user complaints. And by that point, I've piled up hundreds or thousands of jobs, which I understand are lost when Redis is restarted.
- With the database driver, I have it built straight into my admin area how many jobs are in the queue. DB::table('queue')->count(). Usually it's zero, but I get an alert if jobs > X. In which case, I head to Forge and restart the workers. (This has happened 3x in the past 2 years.)
I have 25-100 active users during the daytime, and around 20-30 jobs per minute on average. For my case, is there any real reason to switch to Redis? It feels like an unnecessary additional layer of complication. But I would love to understand why I'm wrong.
Edit: thanks so much everyone for taking the time to help me. I’ve decided to proceed with SQS. It seems like the perfect middle-ground for removing strain on the DB, while ensuring it’s not another piece of software I have to actively manage.