Closed Jaxom99 closed 1 year ago
Bonjour,
Arf !
Je vais commencer par le 2e point : peut-être que quand on cherche des données pour la veille un peu trop top dans la journée, celles-ci ne sont pas encore dispo côté Enedis, d'où le message d'erreur. Il serait intéressant de connaître l'heure d'arrivée des données. Mais on peut dire qu'on peut ignorer ces erreurs pour le moment.
Pour le premier point :
Peut-être qu'il est temps de mieux prendre en compte ce qui avait été soulevé dans l'issue #12.
Une idée d'amélioration : aujourd'hui, l'ensemble des flux n'ont des nouvelles données que quotidiennement.
Parant de ce constant on pourrait effectivement ralentir le job cron, disons, toutes les 3h. Ensuite, on pourrait essayer de randomiser l'heure de lancement du cron à l'installation par yunohost pour éviter des pics de charge sur le proxy.
Je crois que le quota correspond à un nombre d'appels par heure. On devrait pouvoir s'en sortir comme ça (au moins pendant un certain temps !)
J'imagine qu'on pourrait avoir quelque chose comme :
__MINUTES__ __HOUR__/3 * * * __APP__ /usr/bin/php__PHPVERSION__ __FINALPATH__/bin/console aeneria:fetch-data
Où
__MINUTES__
serait un chiffre entre 0 et 59__HOUR__
0, 1 ou 2Je ne suis pas un pro du bash, actuellement le cron est paramétré comme suit dans le script d'installation :
ynh_add_config --template="../conf/aeneria.cron" --destination="/etc/cron.d/$app"
chown root: "/etc/cron.d/$app"
chmod 644 "/etc/cron.d/$app"
Quelqu'un pourrait m'aider à faire ce qui est décrit au dessus ?
@SimonMellerin je peux regarder ça.
J'imagine qu'on pourrait avoir quelque chose comme :
__MINUTES__ __HOUR__/3 * * * __APP__ /usr/bin/php__PHPVERSION__ __FINALPATH__/bin/console aeneria:fetch-data
Je ne suis pas un expert du tout en cron
, mais si tu veux toutes les $hour
heures, le format n'est-il pas plutôt */__HOUR__
?
Je voudrais toutes les 3 heures, mais avec une heure de départ aléatoire.
De cette manière,
Comme ça on répartit bien les appels sur la journée
L'information sur le format du cron est ici : https://www.man7.org/linux/man-pages/man5/crontab.5.html
Donc en effet, toutes les 3 heures c'est */3
. Mais je ne sais pas si on peut indiquer un départ aléatoire. Sinon en demandant un range avec-
et un début variable : __HOUR__-23/3
Pour la minute random, on peut aussi utiliser 0~59
ce qui évite un paramètre ynh.
On est pas loin du but :smile_cat:
Sinon en demandant un range avec
-
et un début variable :__HOUR__-23/3
yep, je suis parti sur ça, je suis en train de tester le fix sur mon serveur. 🤞
$ cat /etc/cron.d/aeneria
18 1-23/3 * * * aeneria /usr/bin/php7.4 /var/www/aeneria/bin/console aeneria:fetch-data
Cela me semble bon ! A vos tests. :)
Bonjour Simon, Merci pour cette super appli, elle tourne toujours bien chez moi, mais j'ai des messages d'erreur récurrents. (ils sont envoyés par mail à aeneria@[mondomaine] du coup je me suis ajouté un alias mail pour les recevoir.)
"Quota Q3 reached. Call threshold allowed on 0:0:0"
qui se répètent de minuit jusqu'à ~ 8h40 du matin"error": "no_data_found",\r\n "error_description": "no measure found for this usage point",\r\n "error_uri": ["https://bluecoder.enedis.fr/api-doc/consulter-souscrire"](https://bluecoder.enedis.fr/api-doc/consulter-souscrire)
Voilà, ma petite contribution de remontée de bugs. Rien de bloquant et rien d'urgent, je te souhaite de bonnes fêtes et je reste disponible si tu veux réparer ça dans un temps futur :wink: