Project

General

Profile

Bug #66459

Support #66457: Trop de transactions PostgreSQL

BaseResource::jobs: transactions évitables et très fréquentes

Added by Pierre Ducroquet 12 days ago. Updated 6 days ago.

Status:
Solution déployée
Priority:
Normal
Target version:
-
Start date:
21 Jun 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

Description

La fonction jobs de BaseResource utilise une transaction pour réaliser une vérification des tâches à faire avec un select for update skip locked. C'est une très bonne solution, mais dans un système où il y a peu de tâches à réaliser, cela va consommer une quantité importante de transactions sans besoin s'il n'y a pas d'objet à sélectionner.


Files

Associated revisions

Revision 63d6ccbe (diff)
Added by Pierre Ducroquet 9 days ago

BaseResource::jobs: reduce transaction number (#66459)

Instead of having a new transaction for each run, even if most of the time there won't be
anything to run, it's faster and lighter for the server to have an out of transaction check
first.

History

#1

Updated by Pierre Ducroquet 12 days ago

En cours de test pour le moment, mais commit early commit often tout ça tout ça

#2

Updated by Pierre Ducroquet 12 days ago

Chemin de code couvert par plusieurs tests unitaires, donc je ne pense pas qu'un nouveau test soit requis (une erreur fait immédiatement hurler pytest)

#3

Updated by Pierre Ducroquet 12 days ago

Je veux bien une explication de pourquoi le jenkins est rouge là :/

#4

Updated by Benjamin Dauvergne 11 days ago

  • Status changed from Solution proposée to Solution validée
#6

Updated by Benjamin Dauvergne 9 days ago

  • Status changed from Solution validée to Résolu (à déployer)
commit 63d6ccbeea44b22da4a8c3bfe8fe2bc1d2e4783a
Author: Pierre Ducroquet <pducroquet@entrouvert.com>
Date:   Tue Jun 21 17:48:20 2022 +0200

    BaseResource::jobs: reduce transaction number (#66459)

    Instead of having a new transaction for each run, even if most of the time there won't be
    anything to run, it's faster and lighter for the server to have an out of transaction check
    first.
#7

Updated by Transition automatique 6 days ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF