Hey 🙂
In our current setup using OPAL, we have very little visibility as to when something goes wrong fetching/processing data update events (other than trawling through container logs).
To combat this, we are wanting to push failed events & errors into a dead letter queue however, I’m having trouble actually ‘catching’ the exceptions that occur.
For example, I send a bad url in my data config sources entry for testing and see the fetcher fail - due to the baked in retry logic, the fetcher will retry until a asyncio Timeout occurs. Its at this point (after all retries have failed) that we want to push a message to our dlq.
I’ve had a look through your github repo and see the
handle_urls
function has
return_exceptions=True
which returns any exceptions as values rather than re-raising in the caller. I think is essentially ‘swallowing’ the exception so we cannot handle it in out custom fetcher. Do you have any ideas as to how we can access/handle this?