Contexte
Dynamic Ingest impose la limitation des taux (par compte) de deux façons :
- Pas plus de 20 requêtes (API CMS et/ou requêtes API Ingestion) par seconde sont autorisées
- Pas plus de 100 tâches prioritaires normales simultanées sont autorisées
Le premier n'est pas difficile à gérer dans votre application - vous pouvez simplement imposer un délai de 3 secondes ou plus entre les demandes. La seconde est plus compliquée, car il n'y a aucun moyen d'interroger le système directement pour déterminer le nombre de tâches que vous avez actuellement traitées. Vous pouvez également utiliser la file d'attente de priorité faible qui vous permettra de mettre en file d'attente plus de 100 travaux.
Vous pouvez simplement attendre un certain temps et réessayer les demandes jusqu'à ce qu'elles réussissent, mais vous pouvez implémenter un système de secours plus rationnel en écoutant les notifications du système Dynamic Ingestion et en utilisant les informations pour suivre vous-même les tâches en vol.
Une façon d'implémenter cela serait de construire une application émetteur-récepteur qui soumet à la fois les requêtes d'ingestion et écoute les notifications. Le diagramme ci-dessous montre la logique de haut niveau d'une telle application.
Exemple d'application
Vous pouvez trouver la source d'un exemple d'application Node-Express dans ce repo Github