La base de donnée de test ne supporte pas les Threads

a marqué ce sujet comme résolu.

Bonjour,

Suite à la discution sur l'indexation de la zep-12, on en avait conclu que ça serait bien de différé l'enregistrement des données pour la recherche et la publication.

J'était partis naturellement, sur l'idée de plusieurs Thread. Sauf que la base de donnée de test ("sqlite", in-memory) ne supporte pas les thread, c'est un souci connu de django et sqlite. Le code de Django à été adapté pour pouvoir faire fonctionner les threads et les bases de données de test mais seulement dans sa version 1.8.

Du coup, deux solutions:

  • Y'a la solution proposé par artagis:

    asynchrone peut vouloir dire "on lance un tachecron" par exemple. Du coup la génération de l'index n'est pas synchrone à la publication.

  • ou avant de lancer le thread, on teste si on en mode "test" et on lance la méthode sans le thread et on corrige ça quand Django 1.8 arrive.

Vous avez une idée d'une autre solution alternative ?

+1 -0

Moi, j'aurais dit oui si on avais eu un Sentry fonctionnel: c'est déjà pas facile d'avoir des logs coté Django, alors des logs de chez cron, on est pas rendu :/

EDIT: je suis pas contre l'idée, mais j'aimerai savoir ce qui se passe de temps à autre, voir si on est dans le bon ou si on génère une erreur toute les heures, quoi.

+1 -0

Notons que munin peut tout à fait être trické pour trouver le nombre de message d'erreur. Ecrire un plugin qui compte le nombre d'erreur lancées par CRON dans syslog les 5 dernières minutes est très simple (même si ça reste un trick et de basse qualité et donc pas forcément souhaitable).

Notons d'ailleurs qu'il est tout à fait facile d'ajouter un fichier de log qui envoie les erreurs de génération pdf par email, mais on risque de tomber dans ce problème :

rendre heureux notre ami renard

Bref, faut vraiment que l'assoc s'achète un second serveur là !

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte