Base de données remplie avec des scheduler_task et scheduler_run
Il y a une semaine, le 17 juin, il y avait environ 8 000 scheduler_task dans la BD. Aujourd'hui (24/06) il y en a environ 93 000. À raison d'environ 90 000 par semaine la BD risque de s'alourdir rapidement. À quoi est-ce dû ?
Un certain nombre de pre_process... J'imagine que cela vient des pre_process reprogrammés par task.py ?
Au passage, veut-on tout garder les scheduler_task et scheduler_run ? Effacer, au moins pour les pre_process / ou bien au moins pour les vieux trucs ? (on veut les log)
Non pas du tout. Ce sont des vidjil. Pour les id > 10000, il y a 82000 vidjil ((db.scheduler_task.id>10000) & (db.scheduler_task.task_name =='vidjil')) Cela semble etre des vidjil relancés car en attente de la fin du pre-process.
ok. Il faudrait donc supprimer ces tâches "vidjil" dans la db, pour qu'il n'y ait que la dernière qui soit enregistrée.
task.py:161, est-ce qu'on pourrait mettre autre chose qu'un "return SUCCESS" et supprimer ces tâches ?
Ou bien utiliser "repeats" + "period" lors du queue_task, et de ne pas relancer de tâche (mais mettre à jour le "repeats" à la bonne valeur quand le vidjil est finalement lancé) ? Ou bien quelque chose avec "retry_failed"
Aïe, avec un "repeats", cela créerait quand même plein d'objets scheduler_run...
Ça continue encore (probablement les 24 QUEUED qui sont là depuis le problème de Myriam). On a environ 1600 entrées par jour dans scheduler_run qui annoncent « still pending ».
J'ai supprimé les runs et les task associés. J'ai backup la bdd avant de faire quoi que ce soit, donc si j'ai fait des bétises on peut revert.