Actions
Bug #113967
closedutiliser le cache des objets lors de la résolution des dépendances
Start date:
24 January 2026
Due date:
% Done:
0%
Estimated time:
Patch proposed:
No
Planning:
No
Description
https://sentry.entrouvert.org/organizations/entrouvert/issues/8224/
La majorité du temps (en tout cas pour ce cas particulier) vient de :
8139 0.034 0.000 26.140 0.003 misc.py:1351(get_dependencies_from_template)
via:
3342 0.004 0.000 26.130 0.008 formdef_base.py:862(get_by_urlname)
De grandes chances que l'ajout d'un use_cache=True à un get_by_urlname améliore les choses.
Timeout: null
File "hobo/middleware/harakiri.py", line 24, in middleware
response = get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "hobo/middleware/ping.py", line 11, in __call__
return self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "hobo/middleware/security.py", line 25, in middleware
response = get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "hobo/middleware/maintenance.py", line 83, in __call__
return self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "hobo/middleware/common.py", line 9, in __call__
return super().__call__(*args, **kwargs)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 133, in __call__
response = self.process_request(request)
File "wcs/middleware.py", line 166, in process_request
return self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/utils/deprecation.py", line 134, in __call__
response = response or self.get_response(request)
File "django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "wcs/api_export_import.py", line 105, in f
return func(*args, **kwargs)
File "wcs/api_export_import.py", line 303, in object_dependencies
for dependency in obj.get_dependencies():
File "wcs/workflows.py", line 1083, in get_dependencies
yield from status.get_dependencies()
File "wcs/workflows.py", line 3302, in get_dependencies
yield from super().get_dependencies()
File "wcs/workflows.py", line 2660, in get_dependencies
yield from action.get_dependencies()
File "wcs/wf/create_formdata.py", line 722, in get_dependencies
yield from super().get_dependencies()
File "wcs/wf/external_workflow.py", line 324, in get_dependencies
yield from super().get_dependencies()
File "wcs/workflows.py", line 3406, in get_dependencies
yield from get_dependencies_from_template(string)
File "wcs/qommon/misc.py", line 1370, in get_dependencies_from_template
yield CardDef.get_by_slug(carddef_slug, ignore_errors=True)
File "wcs/formdef_base.py", line 864, in get_by_urlname
return cls.get_on_index(
File "wcs/sql.py", line 2313, in get_on_index
ob = cls.get(value, ignore_errors=ignore_errors, column=index, **kwargs)
File "wcs/sql.py", line 4926, in get
return super().get(id, **kwargs)
File "wcs/sql.py", line 2287, in get
cur.execute(sql_statement, parameters)
File "wcs/sql.py", line 134, in execute
return super().execute(query, vars)
File "encodings/utf_8.py", line 15, in decode
def decode(input, errors='strict'):
Updated by Benjamin Dauvergne 16 days ago
- Status changed from Nouveau to Solution proposée
🤖 Une pull request concernant ce ticket a été ouverte :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/2596
- Titre : misc: use cache when looking for dependencies in templates (#113967)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/2596/files
Updated by Benjamin Dauvergne 16 days ago
- Status changed from Solution proposée to En cours
🤖 Travail initié ou repris dans une pull request :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/2596
- Titre : WIP: misc: use cache when looking for dependencies in templates (#113967)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/2596/files
Updated by Benjamin Dauvergne 16 days ago
- Status changed from En cours to Solution proposée
Updated by Benjamin Dauvergne 13 days ago
- Status changed from Solution proposée to En cours
🤖 Travail initié ou repris dans une pull request :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/2596
- Titre : WIP: misc: use cache when looking for dependencies in templates (#113967)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/2596/files
Updated by Benjamin Dauvergne 13 days ago
- Subject changed from Timeout sur la récupération des dépendances to utiliser le cache des objets lors de la résolution des dépendances
Updated by Benjamin Dauvergne 12 days ago
- Status changed from En cours to Solution proposée
Updated by Serghei Mihai 12 days ago
- Status changed from Solution proposée to Solution validée
🤖 Pull request approuvée :
Updated by Benjamin Dauvergne 12 days ago
- Status changed from Solution validée to Résolu (à déployer)
🤖 Pull request fusionnée :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/2596
- Titre : utiliser le cache des objets lors de la résolution des dépendances (#113967)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/2596/files
Updated by Transition automatique 12 days ago
- Status changed from Résolu (à déployer) to Solution déployée
Actions