Page MenuHomePhabricator

Introduce re-try mechanisms for MW API requests in LiftWing models
Open, Needs TriagePublic

Description

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:

  1. Re-try the request to MW API using Python libraries such as backoff or tenacity.
  2. 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.