Currently, our models do not have any re-try mechanisms in place for the requests to MW API. This proves to be a cause of LiftWing producing 500 errors for some requests, see e.g. https://phabricator.wikimedia.org/T407784.
Ideally, in case of failed MW API request, we should:
- Re-try the request to MW API using Python libraries such as backoff or tenacity.
- If re-try also fails, LiftWing should produce a clearer error message.
Since this influences all LiftWing models, we should ensure that all of them have proper re-try mechanisms in place.