add builtin cache to requests wrapper (#80246) #68
Open
pmarillonnet
wants to merge 1 commits from
wip/80246-requests-wrapper-cached-results
into main
pull from: wip/80246-requests-wrapper-cached-results
merge into: entrouvert:main
entrouvert:main
entrouvert:wip/90441-requests-wrapper-ne-conserve-pas
entrouvert:wip/90385-applification
entrouvert:wip/90324-limit-application-filter-types
entrouvert:wip/89124-application-job-waiting
entrouvert:wip/tmp-paul-check-ci-against-a2-migrations-squash
entrouvert:wip/88093-timezone-per-tenant
entrouvert:wip/85759-Avoir-une-section-Securite-pour
entrouvert:wip/86701-profile-attribute-form-full-page
entrouvert:wip/86672-profile-multivalued-attributes
entrouvert:wip/86346-Le-cache-de-RemoteTemplate-leve
entrouvert:wip/64924-delete-services-page
entrouvert:wip/65553-saml-TypeError-Model-instances-w
entrouvert:wip/59135-synchronous-provisionning
entrouvert:wip/76423-uwsgidecorators-corriger-le-pass
entrouvert:wip/84884-remove-admin-interface-exposure
entrouvert:wip/84514-create-schema-if-not-exists
entrouvert:wip/81814-speedup-migrations
entrouvert:wip/78555-technical-role-naming-revamp
entrouvert:wip/72760-sms-default-country-code-selection
entrouvert:wip/43968-IntegrityError-duplicate-key-val
entrouvert:wip/75139-default-sso-appearance-screen
entrouvert:wip/72173-restrict-email-accepted-domains
entrouvert:wip/74112-tox-dj32-only
entrouvert:wip/dynamic-context
entrouvert:wip/72264-hobo-secret-keys
entrouvert:wip/72478-sortir-le-provisionning-de-l-ope
entrouvert:wip/68034-show-eta-on-migrate-schemas
entrouvert:wip/72070-app-test-scenarios
entrouvert:wip/71967-delete-app-menu
entrouvert:wip/71961-app-404
entrouvert:wip/70897-app-non-editable-app-element-def
entrouvert:wip/70989-application-edit-marker
entrouvert:wip/71697-home-applications
entrouvert:wip/69604-allow-very-big-DATA_UPLOAD_MAX_MEMORY_SIZE
entrouvert:wip/71452-app-move-element-error-fields
entrouvert:wip/71398-app-deploy-update
entrouvert:wip/70942-app-progress-bar
entrouvert:wip/71251-app-element-renamed
entrouvert:wip/63882-app-sort-elements
entrouvert:wip/63883-app-sort-elements-by-category
entrouvert:wip/71283-add-support-for-language-attribute
entrouvert:wip/70981-app-element-error
entrouvert:wip/68017-fix-scandeps-unknown-object
entrouvert:wip/69655-application-deploy-error
entrouvert:wip/70891-app-manifest-non-editable
entrouvert:wip/70501-async-applification
entrouvert:wip/69662-app-doc-url
entrouvert:wip/69654-version-num
entrouvert:wip/69651-app-scandeps
entrouvert:wip/70442-app-goto-object-def
entrouvert:wip/69652-app-icon
entrouvert:wip/67588-uwsgi-conf
entrouvert:wip/django-upgrade
entrouvert:wip/djhtml
entrouvert:wip/69296-api-client-trace
entrouvert:wip/68985-app-sign-once
entrouvert:wip/68783-applications-ignore-lateral-services
entrouvert:wip/67085-api-client-clean
entrouvert:wip/68061-app-roles
entrouvert:wip/68059-default-dbname-no-tox
entrouvert:wip/noop
entrouvert:wip/67377-moteurs-d-indexation-qui-tournen
entrouvert:wip/67666-matomo-dict-string-format
entrouvert:wip/67665-matomo-pass-public-params-into-qs
entrouvert:wip/67547-template-dirs-portal-agent
entrouvert:wip/64289-drf312
entrouvert:wip/66833-matomo-use-qs-to-pass-args-for-ws-call
entrouvert:wip/63523-api-access
entrouvert:wip/66662-apiaccess-round2
entrouvert:wip/api-access-management
entrouvert:wip/66583-env-allow-long-slugs
entrouvert:wip/32147-deleted-flag-on-hobo-variables
entrouvert:wip/66356-redo-fc-redirect
entrouvert:wip/66011_index_role_uuid
entrouvert:wip/41964-remove-VARIABLE_SETTINGS_DEFAULTS
entrouvert:wip/65372-lingo
entrouvert:wip/64495-has-role-uuid
entrouvert:wip/63684-remove-six-usage
entrouvert:wip/63725-storage-tenant-location-property
entrouvert:wip/63725-storage-save-own-check
entrouvert:wip/63273-possibilite-de-supprimer-une-app
entrouvert:hotfix/v2.26
entrouvert:wip/62723-fix-wcs-logout-url
entrouvert:wip/61950-test-bullseye-num2words-0.5.10
entrouvert:hotfix/v2.25
entrouvert:wip/62017-unpopulate-local-hobo
entrouvert:wip/62017-remove-local-hobo
entrouvert:wip/61944-revert-60572
entrouvert:wip/60699-applification
entrouvert:wip/60572-hobo-in-bobo
entrouvert:wip/26911-authentic-empecher-celery-kombu-de-manipuler-le-timeout-par-defaut-des-sockets
entrouvert:wip/61029-a2-service-base-url
entrouvert:wip/15579-Ajouter-un-session-id-aux-requet
entrouvert:wip/59815-check-theme
entrouvert:wip/57528-verbosity
entrouvert:wip/57526-cron-message
entrouvert:wip/45276-users-resync-cmd
entrouvert:wip/55043-provision-role
entrouvert:wip/56991-manu
entrouvert:wip/56991-UnpicklingError-pickle-data-was-
entrouvert:wip/55092-uwsgi-roles-clean
entrouvert:wip/56595-disable-cron-by-tenant
entrouvert:wip/55567-spooler
entrouvert:wip/55092-uwsgi-roles
entrouvert:wip/55824-Permettre-un-AdminEmailHandler-c
entrouvert:wip/54852-fc-form-id-secret-length-validation
entrouvert:wip/54856-add-missing-padding-form-style
entrouvert:wip/54637-provisionning-debug
entrouvert:hotfix/v1.96
entrouvert:wip/54614-wcs-tenants-dirs
entrouvert:wip/black-isort
entrouvert:wip/53228-button-links-in-sidebar
entrouvert:wip/53059-provisionning-api
entrouvert:wip/50014-trace
entrouvert:wip/52482-trace
entrouvert:wip/51513-remove-corbo-and-mandaye
entrouvert:wip/50451-display-netloc-on-error
entrouvert:wip/49283-dj22
entrouvert:hotfix/v1.82
entrouvert:wip/49685-Declarer-authentic-comme-source-
entrouvert:wip/47790-address-auto
entrouvert:wip/45671-settings-middleware
entrouvert:wip/47559-update-celecy-command
entrouvert:wip/42751-vue-generique-pour-voir-les-logs
entrouvert:wip/45561-remove-py2-tests
entrouvert:wip/44973-py-junit
entrouvert:wip/django-appconf-limit
entrouvert:wip/latest-pytest
entrouvert:wip/test-csv-provisionning
entrouvert:wip/33875-do-not-reapply-successfull-import-template
entrouvert:wip/33874-import-template-may-first-fails-on-hobo-deploy
entrouvert:wip/32381-Envoyer-les-niveaux-d-authentifi
entrouvert:provision_auth_levels
entrouvert:wip/23045-migrate-schemas-in-parallel
entrouvert:wip/jenkins
entrouvert:wip/django-1.11-tox
entrouvert:wip/python3
entrouvert:wip/django-1.11-tox-temp
No reviewers
Labels
Clear labels
No items
No Label
Milestone
Clear milestone
No items
No Milestone
Assignees
Clear assignees
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/hobo#68
Reference in New Issue
No description provided.
Delete Branch "wip/80246-requests-wrapper-cached-results"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
4517823765
to37b1aa9e41
37b1aa9e41
to3232789116
3232789116
to89006475e2
WIP: add builtin cache to requests wrapper (#80246)to add builtin cache to requests wrapper (#80246)@ -65,0 +100,4 @@
if method == 'GET' and cache_duration:
cache.set('%s_called' % cache_key, True, cache_duration)
response = super().request(method, url, **kwargs)
if method == 'GET' and cache_duration:
Je vois bien que c'est le même code dans combo, mais au risque de dire une bêtise, ce ne serait pas plutôt
invalidate_cache qu'il faudrait tester ligne 103 ?
Non, le rôle du
invalidate_cache
est rempli plus haut, pour éviter de renvoyer le contenu du cache quand même bien celui-ci est connu d’hobo :Merci pour l'explication.
En regardant mieux, toujours pour cette même ligne, sais-tu pourquoi il faut déposer un contenu factice dans le cache avant de faire la requête puis l'invalider ?
Côté combo c'est #79501 qui l'exploite, mais je pense qu'ici ça ajoute du code mort.
Oui tu as raison, ce n’est sans doute pas nécessaire de maintenir cela dans hobo, on ne s’en servira pas. J’ai retiré cela.
89006475e2
to37be5c3a74
@ -65,0 +90,4 @@
elif raise_if_not_cached:
raise NothingInCacheException()
if remote_service == 'auto':
ligne 93: Tu sais à quoi correspond ce 'auto' ?
ligne 96: Le code d'origine gérait déjà remote_service et kwargs['auth'].
Dans combo le 'auto' provient d'un paramètre passé à request quand on attend une signature.
Bref j'ai l'impression qu'il y a redondance à la ligne 94
et retrait de la signature lorsque l'on ne va pas vers un service (ligne 96), ce qui s'entend.
Peut-être ajouter un test là-dessus pour être plus explicite ?
Oui tu as raison, j’ai viré tout cela, et ai laissé cette partie là du code dans sa version d’origine.
37be5c3a74
tob49e4a5d07
Step 1:
From your project repository, check out a new branch and test the changes.Step 2:
Merge the changes and update on Gitea.