Steps to reproduce:
- Have some jobs defined, including at least one recurring job.
- Run solidqueue
- Restart the database (for example on a mac,
brew services restart mariadb, or on linux, systemctl restart mariadb)
- Notice that an error appears in the terminal that ran solidqueue, but it doesn't exit (not returned to shell), and no jobs are processed in the future
If you do this again but run with --skip-recurring, solidqueue will print the error and then exit. This is useful because when running solidqueue in a process monitor such as systemd, the solidqueue process exiting will cause the monitor to restart it - if the database restarted just once, this means no future jobs are missed.