ne lever des erreurs au refresh du cache des templates que si ça dure depuis un bail (#86346) #106
Open
bdauvergne
wants to merge 3 commits from
wip/86346-Le-cache-de-RemoteTemplate-leve
into main
pull from: wip/86346-Le-cache-de-RemoteTemplate-leve
merge into: entrouvert:main
entrouvert:main
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/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/80246-requests-wrapper-cached-results
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#106
Reference in New Issue
No description provided.
Delete Branch "wip/86346-Le-cache-de-RemoteTemplate-leve"
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?
689dabaa76
to079991b463
079991b463
tof17952cc13
f17952cc13
to0a7e5966bb
0a7e5966bb
tocae2ba9afa
cae2ba9afa
to9d9798a125
9d9798a125
toffcc1c16f3
WIP: ne lever des erreurs au refresh du cache des templates que si ça dure depuis un bail (#86346)to ne lever des erreurs au refresh du cache des templates que si ça dure depuis un bail (#86346)ffcc1c16f3
to1f533c08fa
@ -124,0 +122,4 @@
)
r.raise_for_status()
except requests.RequestException as e:
if last_update and datetime.datetime.now() - last_update < datetime.timedelta(hours=1):
Juste pour m'assurer que je comprends : ce « if » nous permet tout de même de recevoir une alerte à la première panne (quand last_update n'existe pas encore), puis de les recevoir toutes après une heure, c'est bien l'idée ?
Oui, en cas d'erreur si le cache est vide c'est qu'on est dans le cas synchrone et il y aura encore l'exception + le log avec le statut de l'erreur. Ce qui maintenant que je j'y pense est un peu redondant, on pourrait aussi juste lancer l'exception si last_update est None et simplifier la logique, vu qu'on a on forcément in_thread=True si last_update!=None. Le but ici c'est de ne plus avoir d'erreur remontée par les mises à jour en tâche de fond (dans un thread) du cache, sauf si ça dure longtemps (à vrai dire sur des tenants peu touchés en test ça arrivera encore, idéalement il faudrait un compteur).
Donc dernière version, j'ai rendu explicite l'exception en cas d'absence de cache et d'erreur du GET, je suis passé à un dico parce que le tuple commençait à être long et j'ai ajouté l'histoire du compteur pour éviter les logs de tenants inutilisés.
Aussi le dernier code prend en compte la migration des entrées de ache existantes vers le nouveau format (j'aurai pu m'en passer en modifiant les clés de cache aussi...). Chaque fois que j'écris un truc je pense à un autre... pfiou...
1f533c08fa
to68f946cf8b
68f946cf8b
to145f91402f
145f91402f
to7d5fb7abee
7d5fb7abee
tobc67996b2a
bc67996b2a
tob6c80721a6
b6c80721a6
to43c31aa2c4
Ouf. Tout ça pour ça :) Allons-y !
Step 1:
From your project repository, check out a new branch and test the changes.Step 2:
Merge the changes and update on Gitea.