Development #37986
python3, mise à jour du monkeypatching de threading
0%
Description
Le code de threading.py est un peu différent entre Python 2 et Python 3, il faut gérer ça.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-misc-update-threading-monkeypatch-for-Python-3-37986.patch 0001-misc-update-threading-monkeypatch-for-Python-3-37986.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Thomas Noël il y a plus de 4 ans
Comme je disais déjà à l'époque "ça me dépasse un peu" et donc si d'autres peuvent jeter un oeil, c'est cool.
Ce que je vois moi c'est qu'il y a des différences par rapport à ce qui a été fait dans hobo (#22981), où on a aussi une version Python 3 de MainThread::_init__ mais pas de _stop ou de is_alive sur _DummyThread ... Ça serait sans doute mieux de tenter de converger (quitte à revenir un peu sur #22981 aussi) ?
Mis à jour par Frédéric Péters il y a plus de 4 ans
Ça serait sans doute mieux de tenter de converger.
Oui, même si c'est aussi moi côté adaptation hobo pour Python 3, j'ai hier préféré dupliquer pleinement la classe, plutôt que mêler py2/3 dans les méthodes. (sans doute pour être sûr qu'il faudrait ajouter les nouvelles méthodes Python 3 côté Hobo).
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Je suis comme Thomas je regarde /usr/lib/python3.5/threading.py et je ne vois pas ce code, on pourrait aussi revoir la façon de faire (en monkeypatchant juste Thread.start() / Thread.run() plutôt que de remplacer la classe).
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
À noter que je ne trouve qu'un usage de threading.Thread dans wcs.middleware on pourrait aussi le remplacer directement par TenantAwareThread.... remarque valant aussi pour les autres briques mais il faudra faire d'hobo une dépendance explicite de toutes les briques alors que pour l'instant c'est transparent.
Mis à jour par Frédéric Péters il y a plus de 4 ans
/usr/lib/python3.5/threading.py
Il est dans 3.7.
Et je préférerais limiter les changements au code Python 2; il sera temps, lorsqu'on nettoiera pour en supprimer la prise en charge, de passer sur tout ça.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Frédéric Péters a écrit :
/usr/lib/python3.5/threading.py
Il est dans 3.7.
En prod on est en 3.5.
Et je préférerais limiter les changements au code Python 2; il sera temps, lorsqu'on nettoiera pour en supprimer la prise en charge, de passer sur tout ça.
Ok je valide sans vraiment valider.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit bd9d18a7db5af4fcde0732052b7ba99ed20ca87a Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Nov 26 14:51:11 2019 +0100 misc: update threading monkeypatch for Python 3 (#37986)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: update threading monkeypatch for Python 3 (#37986)