Re: [openplacos-dev] amélioration stabilité

[ Thread Index | Date Index | More lists.tuxfamily.org/openplacos-dev Archives ]


Oui c'est vrai qu'on ne distingue pas selon la criticité du composant,
ca pourrait se faire d'ajouter cette info.

Le 13 août 2012 18:18, rom .. <lsdark73@xxxxxxxxx> a écrit :
> sûr moi ca me va.. c'était plus pour la réflexion erreur bloquante ou pas.
> Si un afficheur lcd loupe un affichage,  c'est pas trop grave..
>
> Le 13 août 2012 18:08, "flagos" <flagospub@xxxxxxxxx> a écrit :
>>
>> @kirsh
>>
>>
>> Faudrait essayer la manipe de creer un arduino virtuel qui repond aux
>> string envoyés sur un fichier quelconque (qui emule /dev/arduino
>> quoi). On pourrait peut etre reproduire des problemes en full soft.
>>
>> @rom
>>
>> Pour la non-réponse on est pas encore fixé, mais pour l'instant on
>> partirait bien sur monit. Je sais pas si tu connais ce soft, ca permet
>> de monitorer des ressources (en general apache, mysql, etc) en
>> greppant sur des fichiers de log, ca informe le user et ca prend des
>> mesures correctives (restart du service, reboot machine..).
>>
>> Il y a un exemple d'utilisation dans la doc ubuntu:
>>  http://doc.ubuntu-fr.org/monit
>>
>> Pour opos, on aurait plus qu'a lui indiquer le fichier de log et a lui
>> filer un regexp pour trigger les erreurs.
>>
>> Ca nous paraissait pas trop mal, je l'utilise en prod pour un serweb
>> web et ssh, j'en suis content. Ca conviendrait a tes besoins ?
>>
>> Le 13 août 2012 17:58, rom .. <lsdark73@xxxxxxxxx> a écrit :
>> > Comment réagit le serveur en cas de non réponse ?
>> > Il y a au moins 2 cas à gérer :
>> > - Un composant critique ne répond pas (chauffage par ex.)
>> > - Un composant non critique ne répond pas (afficheur lcd)
>> > Dans les deux cas, remontée d'alarme ?
>> >
>> > Le 13 août 2012 17:49, "miaouf kirsh" <miaoufkirsh@xxxxxxxxx> a écrit :
>> >
>> >> yep,
>> >> ben pour l'arduino, c'est pas evident.
>> >> il me semble avoir callé un timeout, c'est meme sur :
>> >>
>> >> https://github.com/openplacos/openplacos/commit/89f2a416d2cc54f855f53478b3dfbaed48dada46
>> >>
>> >> j'ai callé 2 truc, le premier, c'est lors de l'initialisation de la
>> >> connexion, (au lancement du composant), on attend que l'arduino reponde
>> >> a
>> >> une commande quelconque. ca bloque le lancement du server tant que
>> >> l'arduino
>> >> est pas ok, de maniere a pas accepter de requette si l'arduino est pas
>> >> pres.
>> >> ca evite de tomber dans le fameux trou noir au lancement du server.
>> >>
>> >> le deuxiemme, c'est au write, si l'arduino repond pas en 1s, on leve
>> >> une
>> >> erreur. le truc c'est que je c pas trop comment ca se passe la
>> >> propagation
>> >> de l'erreur. le truc c'est que c'est pas super evident a tester.
>> >>
>> >> enfin, coté firmware, j'ai activé le watchdog interne de l'arduino pour
>> >> qu'il reset si jamais il plante. ca j'ai pu testé, a priori le
>> >> composant le
>> >> voit meme pas et tout se passe bien, a moins de faire une requette
>> >> pendant
>> >> le boot de l'arduino, mais la le timeout du composant devrais prendre
>> >> en
>> >> compte l'erreur.
>> >>
>> >> la derniere fois, avec JF, on a eu des plantages, mais je serais
>> >> incapable
>> >> de dire ce qui se passais, ni comment les reproduire.
>> >>
>> >> Le 13 août 2012 17:19, flagos <flagospub@xxxxxxxxx> a écrit :
>> >>>
>> >>> On pourrai se faire un composant qui repond pas, juste pour tester.
>> >>>
>> >>> Toutafé. Quel serait le usecase: Tu fais un appel sur le composant
>> >>> blackhole, tu es coincé.
>> >>>
>> >>> 1. on est censé avoir un timeout
>> >>> 2. on est censé pouvoir faire des read sur d'autres objets
>> >>>
>> >>> Il faudrait faire des tests sur ces 2 cas ?
>> >>>
>> >>> je pense qu'il faut, au niveau de l'arduino, se faire le truc de
>> >>> maniere asynchrone. pour le moment, on envoi la requette sur l'usb, et
>> >>> on attend un retour (appel bloquant "gets"). on pourrais se le faire
>> >>> de maniere asynchrone, pour eviter de bloquer sur un gets qui nous
>> >>> complique la gestion des erreurs.
>> >>>
>> >>> Il faut je pense parler de la testabilité du truc (= le reproduce en
>> >>> non-reg). Pour l'arduino c'est hardware dépendant. On peut peut-etre
>> >>> émuler la carte avec un deuxieme process qui ferait les print qui vont
>> >>> bien histoire de caler ca en non-reg.
>> >>>
>> >>> Cela dit, tu avais pas deja calé un timeout pour ca ? Ca ne suffit pas
>> >>> ?
>> >>>
>> >>> Le 13 août 2012 15:27, miaouf kirsh <miaoufkirsh@xxxxxxxxx> a écrit :
>> >>> > alors je dirais qu'on a principalement deux problème.
>> >>> > un générique, qui est que si un composant, pour une raison ou pour
>> >>> > une
>> >>> > autre, ne repond pas a une requette, ca va bloquer le server.
>> >>> >
>> >>> > On pourrai se faire un composant qui repond pas, juste pour tester..
>> >>> >
>> >>> > le deuxiemme, c'est avec l'arduino, en cas de plantage / perte de
>> >>> > connexion
>> >>> > de l'arduino.
>> >>> > souvant, quand tu manip et que tu branche les truc un peut a
>> >>> > l'arrache,
>> >>> > il
>> >>> > est possible qu'on ai un reset de la bete, et ca fout un peut la
>> >>> > merde.
>> >>> > donc
>> >>> > ya encore un peu de boulot a faire pour le rendre plus robuste.
>> >>> >
>> >>> > je pense qu'il faut, au niveau de l'arduino, se faire le truc de
>> >>> > maniere
>> >>> > asynchrone. pour le moment, on envoi la requette sur l'usb, et on
>> >>> > attend un
>> >>> > retour (appel bloquant "gets"). on pourrais se le faire de maniere
>> >>> > asynchrone, pour eviter de bloquer sur un gets qui nous complique la
>> >>> > gestion
>> >>> > des erreurs.
>> >>> >
>> >>> > Le 13 août 2012 14:10, flagos <flagospub@xxxxxxxxx> a écrit :
>> >>> >
>> >>> >> Yop,
>> >>> >>
>> >>> >> Certains d'ente vous ont fait des manipes avec openplacos, version
>> >>> >> unstable et testing. Kirsh m'a notamment dit qu'il avait eu des
>> >>> >> soucis
>> >>> >> de stabilité du serveur lorsqu'on fait un peu joujou avec.
>> >>> >>
>> >>> >> Etant donné qu'on commence a avoir une testsuite un peu couvrante,
>> >>> >> je
>> >>> >> me dis que ce serait bien qu'on la complete en prenant en compte ce
>> >>> >> genre de retours, et en essayant de coller un peu mieux au système
>> >>> >> physique lors de noter non-reg.
>> >>> >>
>> >>> >> Qu'est ce que vous avez eu comme soucis ? Comment les reproduire ?
>> >>> >>
>> >>> >> --
>> >>> >> Tapé depuis mon clavier
>> >>> >>
>> >>> >>
>> >>> >
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Tapé depuis mon clavier
>> >>>
>> >>>
>> >>
>> >
>>
>>
>>
>> --
>> Tapé depuis mon clavier
>>
>>
>



-- 
Tapé depuis mon clavier



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/