Projet

Général

Profil

Autre #45057

développer un "package" django-whatever commun d'exécution des jobs asynchrones (at/cron)

Ajouté par Frédéric Péters il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
12 juillet 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non
Club:
Non

Description

On a dans combo et passerelle des commandes ...-manage cron, un peu différentes, dans wcs aussi; on a dans passerelle un système de jobs déférés, quelque chose similaire dans wcs.

Je pense qu'on pourrait extraire/réunir le tout, que ça pourrait ensuite également être utilisé dans d'autres modules.

Ça pourrait commencer par la partie cron (qui n'a pas besoin de stockage, pourrait se trouver exploitable directement dans wcs également).

Je vois ça basiquement comme le cron.py de combo aujourd'hui, c'est-à-dire itération sur apps.get_app_configs, étendu à davantage de fréquences (il ne fait que hourly).

Côté passerelle, l'adoption pourrait être une adaptation à passerelle/base/__init__.py pour faire l'itération sur les instances des connecteurs et exécuter les méthodes appropriées (ainsi pas besoin de toucher aux connecteurs et le code de ceux-ci reste concentré dans le models.py.

Pour l'exécution, particulièrement pour la partie Job, ça donne un endroit unique où adopter une méthode, plutôt que disperser les pratiques (objet dans la db + cron régulier dans passerelle, thread à la fin du cycle requête/réponse dans wcs, mule uwsgi dans barbacompta).

Historique

#1

Mis à jour par Frédéric Péters il y a presque 4 ans

  • Sujet changé de développer un module commun d'exécution des jobs asynchrones (at/cron) à développer un "package" django-whatever commun d'exécution des jobs asynchrones (at/cron)

Formats disponibles : Atom PDF