Proposed Solution 1 is preferable in that it accounts for both DB outage, slowness, and worker crash, and you describe additional safety mechanisms to prevent queue becoming blocked by poison/invalid messages.
Proposed Solution 2 without ACKs would be vulnerable to message loss if a worker were to crash before successful message delivery.