ZEP-17 : Elaboration de l'API des membres

a marqué ce sujet comme résolu.

Notre problème semble connu et corrigé dans une nouvelle version.

Est-ce qu'on a une idée de la date de sortie de cette nouvelle version ? Parce que la v1.6 est atteinte de boulimie (ce qui est plutôt un bon signe), donc si on attends trop, on va devoir trouver une solution intermédiaire.

NB: penser à permettre la désactivation facile de ce taux en local, pour pouvoir faire des tests plus facilement. Mais sinon oui pourquoi pas, ça fait une requête toutes les deux secondes quand on est connecté, on aura probablement rarement besoin de dépasser.

Est-ce qu'on a une idée de la date de sortie de cette nouvelle version ? Parce que la v1.6 est atteinte de boulimie (ce qui est plutôt un bon signe), donc si on attends trop, on va devoir trouver une solution intermédiaire.

SpaceFox

Elle est déjà sortie. Je la test ce soir. :)

NB: penser à permettre la désactivation facile de ce taux en local, pour pouvoir faire des tests plus facilement. Mais sinon oui pourquoi pas, ça fait une requête toutes les deux secondes quand on est connecté, on aura probablement rarement besoin de dépasser.

Kje

Je ne sais pas trop comment procéder mais je vais voir ce que je peux faire.

Sorry, je suis un peu occupé ces derniers jours mais j'ai eu le temps de tester rapidement et ça n'a pas réglé le problème. J'essaye de les faire réagir sur la mailing list mais je n'ai plus aucune réponse …

Je pense avoir du temps ce soir pour voir si je peux faire quelque chose. D'ailleurs je voulais t'en parler personnellement puisque, d'après ce que tu m'as expliqué sur les caches, il est judicieux de baser son cache suivant une certaine clé. Chose que je ne vois nulle part dans la configuration de notre cache et (d'après les maigres réponses sur la mailing list) il doit être possible d'aligner les clés du cache et du throttling pour faire fonctionner le throttling.

Si ça te dis quelque chose, si tu as des informations qui te viennent d'un ordre général sur le fonctionnement du cache dans notre cas ci-présent, je suis tout ouïe.

Sinon, pour qu'on ne l'oublie pas, je précise quand même que la doc me semble incomplète ou plutôt disparate. Car en allant sur ce qui est censé être le point d'entrée de la doc on a des urls, ça c'est cool, mais il manque tout un pan concernant l'authentification.

Le complément de cette doc se trouve sur Readthedoc, mais là bas on a du texte d'explication, c'est bien aussi, mais ça manque d'exemple de type curl.

En gros, je fais un peu mon chieur mais je trouve dommage que la doc soit laissée sur le carreau. Tout devrait être centralisé pour moi avec plein d'exemples.

mais ça manque d'exemple de type curl.

Je suis certain d'avoir déjà lu cet argument et des réponses à celui-ci.

SpaceFox

Je n'est jamais eu de vrai réponse en tout cas. Je parle de curl parce que c'est un standard utilisé dans presque toutes les docs d'API. Mais l'idée est de dire, sans exemple à portée de main dans la doc, il faut vraiment le vouloir pour utiliser l'API.

Des choses doivent être intégrés à la documentation. Nous sommes bien d'accord. Des exemples curls ne figurent pas du tout dans ma liste. Je crois t'avoir dis non 5-6 fois en te donnant la raison le même nombre de fois.

Du coup, pour la dernière fois : Je ne recopierais pas ce que Swagger me génère déjà avec en plus le risque de faire des erreurs dans la recopie ou de devoir les mettre à jour à la main. Nous perdons totalement l'intérêt de Swagger.

Après tu fais ce que tu veux/peux mais il ne faudrait pas non plus que le confort de l'utilisateur passe après le confort du développeur.

Je le souligne parce que je l'ai trouvé encore incomplète la doc. En allant sur cette dernière on ne sait toujours pas quoi faire exactement si on veut faire une action en mode connectée. Ce qui ne permet pas de tester l'API correctement.

Je pense que cela dépasse ton simple avis ou le miens et devra être discuté en Zest'Meeting. Pour l'instant, je ne sais pas sur quel pied danser à propos de la documentation de l'API. Il y a des gens qui pensent comme toi, d'autres comme moi. Peu importe le résultat final de la discussion à ce sujet, je m'y plierais. Je voudrais simplement qu'on statue sur la chose pour pouvoir avancer.

Bien, pour revenir sur le sujet, j'ai trouvé 2 solutions :

  1. Il se pourrait que le throttling fonctionne depuis le début parce que memcached ne fonctionnerait pas sur ma machine. Cette solution avec beaucoup d'incertitude parce que je n'en suis pas certain.
  2. Définir un cache alternatif pour le throttling. Cette solution fonctionne chez moi en local.

Qu'est ce que vous en pensez ?

Que je ne suis pas certain d'avoir compris la 1ère proposition. C'est "en fait ça marche, j'avais un défaut de conf de memcached", ou "en fait ça marche pas, j'ai cru que ça marchait mais en fait c'était parce que memcached n'était pas fonctionnel", ou encore autre chose ?

Bien, je viens avec des mauvaises nouvelles. Voici 3 soirées entières que je suis sur ce throttling et je n'ai toujours pas trouver une solution. Nous n'avons plus aucune réponse sur la mailing list malgré mes relances régulières, j'ai épluché la documentation de DRF et de Django (à propos du cache) dans tous les sens, j'ai été lire tout le code source concerné dans DRF pour en comprendre le fonctionnement du throttling et je ne comprends pas pourquoi ça ne fonctionne pas alors que tout devrait fonctionner. Il n'y a aucune raison que je rencontre tous ces problèmes et ça commence à m'épuiser.

Je propose que je fasse une PR pour retirer la création d'un compte membre temporairement.

Plusieurs raisons pour lequel j'écarte cette solution aujourd'hui :

  • Je ne peux pas estimer les risques et les effets de bord de cette solution.
  • C'est aussi une solution temporaire. Il faut que ça fonctionne avec le cache du site, ne fut-ce que par cohérence.
  • Aucune raison que la configuration avec memcached ne fonctionne pas. Cette solution ne devrait même pas être une option.
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte