Development #57019
implémenter notre propre uwsgidecorators
0%
Description
Parce que celui upstream me fait peur.
Fichiers
Demandes liées
Révisions associées
add uwsgidecorators module (#57019)
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0001-add-uwsgidecorators-module-57019.patch 0001-add-uwsgidecorators-module-57019.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0001-add-uwsgidecorators-module-57019.patch 0001-add-uwsgidecorators-module-57019.patch ajouté
correction typo dans les logs.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Voilà testé localement dans publik-devinst sur combo :
Les modifs faites localement :
diff --git a/combo/public/views.py b/combo/public/views.py index 8be4fd1c..714ca85c 100644 --- a/combo/public/views.py +++ b/combo/public/views.py @@ -455,6 +455,8 @@ def empty_site(request): def page(request): + from combo.utils.spooler import coin + coin(1, 2, 'x' * 1000000) request.extra_context_data = {'absolute_uri': request.build_absolute_uri()} url = request.path_info parts = [x for x in request.path_info.strip('/').split('/') if x] diff --git a/combo/utils/spooler.py b/combo/utils/spooler.py index 40298ccf..377572f1 100644 --- a/combo/utils/spooler.py +++ b/combo/utils/spooler.py @@ -58,7 +58,7 @@ def tenantspool(func): if not USE_UWSGI: return func - from uwsgidecorators import spool + from hobo.multitenant.uwsgidecorators import spool @ensure_db @wraps(func) @@ -71,10 +71,10 @@ def tenantspool(func): except Exception: logger.exception('spooler: exception during %s(%s, %s)' % (func.__name__, args, kwargs)) else: - logger.info('spooler: success of %s(%s, %s)' % (func.__name__, args, kwargs)) + logger.info('spooler: success of %s(%s, %s)' % (func.__name__, repr(args)[:1024], repr(kwargs)[:1024])) # pass arguments as pickles - base_spooler = spool(pass_arguments=True)(spooler_func) + base_spooler = spool(spooler_func) @wraps(func) def spooler(*args, **kwargs): @@ -99,3 +99,8 @@ def refresh_statistics_data(cell_pk): cell = ChartNgCell.objects.get(pk=cell_pk) cell.get_statistic_data(invalidate_cache=True) + + +@tenantspool +def coin(a, b, c): + logger.info('spooler: coin a=%s, b=%s, len(c)=%d', a, b, len(c))
Les logs :
spooler: coin a=1, b=2, len(c)=1000000 spooler: success of coin((1, 2, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, {}) spooler: coin a=1, b=2, len(c)=1000000 spooler: success of coin((1, 2, 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, {})
Aucun souci pour passer une chaîne de 1Mo.
Mis à jour par Thomas Noël il y a plus de 2 ans
Peut-être que je vais dire une bêtise, mais est-ce qu'on pourrait intégrer au passage #57023 (gestion des connexion à la DB dans les fonction spoolées) ?
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Thomas Noël a écrit :
Peut-être que je vais dire une bêtise, mais est-ce qu'on pourrait intégrer au passage #57023 (gestion des connexion à la DB dans les fonction spoolées) ?
Oui et la gestion du tenant aussi pourquoi pas...
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à En cours
Ajouter ensure_db et gérer la conservation du tenant.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Fichier 0002-add-uwsgidecorators-module-57019.patch 0002-add-uwsgidecorators-module-57019.patch ajouté
- Fichier 0001-tests-refactor-multitenant-conftest-57019.patch 0001-tests-refactor-multitenant-conftest-57019.patch ajouté
- Statut changé de En cours à Solution proposée
En l'absence de Thomas je veux bien quelqu'un s'intéresse au sujet.
Mis à jour par Thomas Noël il y a plus de 2 ans
- Lié à Development #56991: UnpicklingError: pickle data was truncated ajouté
Mis à jour par Thomas Noël il y a environ 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit fc2c4ee7946aec89c9fd5408a3bcd6d68fddff31 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Thu Sep 16 19:16:40 2021 +0200 add uwsgidecorators module (#57019) commit 7817af0ded860f0a170d412b067f2c5302f72f17 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Oct 1 15:37:13 2021 +0200 tests: refactor multitenant conftest (#57019)
Mis à jour par Frédéric Péters il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: refactor multitenant conftest (#57019)