Verify current data file

Product :4D - 4D Server

Il manque une petite précision dans la description de la commande VERIFY CURRENT DATA FILE :

La méthode de rétro-appel ne doit pas contenir d’écriture dans aucune table (par exemple une table dans laquelle on enregistrerait la survenue d’une éventuelle erreur ou une table de main-courante dans laquelle on enregistrerait la date de la vérification des données). En effet, l’appel de VERIFY CURRENT DATA FILE bloque toute écriture. Une tentative d’écriture dans la méthode de rétro-appel bloque celle-ci qui bloque alors la poursuite de la vérification.

Si on souhaite mémoriser quelque chose survenu dans la méthode de rétro-appel, il faut stocker les données à écrire dans des variables puis les enregistrer après la commande VERIFY CURRENT DATA FILE.

Pouvez-vous me confirmer cette analyse ?
Si oui, Monsieur 4D peut-il la rajouter à la documentation de la commande VERIFY CURRENT DATA FILE ?

Salut Bernard,
d’après ce que j’ai compris, la méthode de rétro appel étant appelée “de temps en temps”, au moment du rétro appel elle peut très bien passer à coté d’un signalement qui se produirait entre temps. J’en suis arrivé à la conclusion que le rétro appel ne sert qu’à afficher une éventuelle progression, la seule chose tangible que tu puisses analyser est le fichier produit par l’analyse une fois terminée.

Salut Arnaud,

Je lance la vérification d’intégrité automatiquement à la fin de la méthode-base ‘Sur arrêt sauvegarde’.

Dans la méthode de rétro-appel,

  • je mets à jour une barre de progression
  • je concatène les éventuels messages d’erreurs dans une variable TEXT.

A la fin, je regarde si cette variable contient quelque chose. Si oui, je l’envoie par mail automatiquement à l’administrateur.
Dans ce cas seulement, on va regarder le fichier log XML. Ça évite le syndrome du Désert des Tartares.

Est-ce que cette méthode te paraît robuste ?
Y a-t-il un risque qu’une erreur rencontrée ne soit pas signalée à la méthode de rétro-appel et donc, qu’on n’aille pas ouvrir le fichier log ?

C’est peut-être bête, mais es-tu sûr que ta sauvegarde se fasse ?

pour que la méthode-base ‘Sur arrêt sauvegarde’ s’execute, encore faut-il que la sauvegarde se lance. :roll:

Si tu veux sécuriser il faut penser à tout…

Oui, de ce côté c’est sécurisé.

: Bernard VACHE
  • je concatène les éventuels messages d’erreurs dans une variable
    TEXT.
    A la fin, je regarde si cette variable contient quelque chose. […]
    Est-ce que cette méthode te paraît robuste ?
    Y a-t-il un risque qu’une erreur rencontrée ne soit pas signalée à la
    méthode de rétro-appel et donc, qu’on n’aille pas ouvrir le fichier
    log ?
    Je me suis posé https://forums.4d.com/Post/FR/30119663/1/30119664#30119664la même question>. Le forum est resté muet. La doc ne dit pas si ce rétro appel est conçu pour informer de la progression de l’analyse, ou s’il l’est pour collecter erreurs ou warnings.
    Du coup j’ai compté… 19000 rétro appels en 800 secondes, soit une fréquence d’un appel toutes les 42ms. Il me paraît dangereux d’exclure que je puisse louper un signalement entre 2 rétro appels, alors qu’avec le log, je suis sûr de ne pas se tromper, tout y est consigné.