Exactly ... and this is the step that you have to intervene: if the connection-handle is bad, it basically means that the connection has dropped on one side or the other. The plugin will attempt to re-establish the connection and you must see to it that it does so correctly. If the credentials are still known-good, it’s not actually “for authentication reasons,” even though it may present itself that way. A check of both the database and the web-server logs would be a good place to start sleuthing. Even if for whatever reason (SQL server down, etc.) the connection truly can’t be re-established now, your Dancer app still must manage to do the right thing, or at least a graceful thing.
This is a common issue with long-running persistent processing of any sort, and the symptoms presented definitely can be red-herrings. Since you know that the credentials you have available to you are good, then you know that the message ... isn’.t. If you chase the wrong presumption, you’re chasing a rabbit. (Been there, etc.)