Problème de priorité dans les thread d'import #10

Closed
opened 2023-05-04 14:55:46 +00:00 by v4l3n71n · 4 comments
Owner

Après avoir mis en place avec succés les threads (traitement parallèle) sur la fonction d'export de mon script, j'ai tenté faire de même pour l'import et le résultat est très hasardeux :

  • Des articles en doublon
  • Des images non présent ou des problèmes de format.
  • Image en-tête d'article non ajouté.

J'ai voulu résoudre le problème des pages de doublon en remplaçant la mise à jour d'un article par sa suppression, mais le résultat semble le même sans les doublons et sans avoir l'intégralité des articles du blog d'origine.

Pour le problème d'image d'en-tête vient que son ajout doit se faire après la création du post, car ce dernier a un id unique, et lors du traitement parallèle, l'article est ajouté après l'association entre l'image et l'article, et pendant l'association, il y a soit un vieux ID qui va être supprimé ou il ne reçoit pas d'ID, car l'article a été supprimé par un thread.
Donc l'association d'une image d'en-tête et l'article doit se faire après la création de l'article.

Un autre problème vient du problématique propre au traitement parallèle quelque soit thread ou process, qui est l'exclusion mutuelle, car lors de la récupération des pages du blog d'origine, il existe des doublons de page, et le script récupère les articles de chaque catégorie, et lors du traitement parallèle, il y a un risque de choc entre deux données identiques.
Donc il faudrait traiter d'abord la page principale, et attendre que son thread soit terminé pour traiter les pages des catégories.

Après avoir mis en place avec succés les threads (traitement parallèle) sur la fonction d'export de mon script, j'ai tenté faire de même pour l'import et le résultat est très hasardeux : - Des articles en doublon - Des images non présent ou des problèmes de format. - Image en-tête d'article non ajouté. J'ai voulu résoudre le problème des pages de doublon en remplaçant la mise à jour d'un article par sa suppression, mais le résultat semble le même sans les doublons et sans avoir l'intégralité des articles du blog d'origine. Pour le problème d'image d'en-tête vient que son ajout doit se faire après la création du post, car ce dernier a un id unique, et lors du traitement parallèle, l'article est ajouté après l'association entre l'image et l'article, et pendant l'association, il y a soit un vieux ID qui va être supprimé ou il ne reçoit pas d'ID, car l'article a été supprimé par un thread. Donc l'association d'une image d'en-tête et l'article doit se faire après la création de l'article. Un autre problème vient du problématique propre au traitement parallèle quelque soit thread ou process, qui est l'exclusion mutuelle, car lors de la récupération des pages du blog d'origine, il existe des doublons de page, et le script récupère les articles de chaque catégorie, et lors du traitement parallèle, il y a un risque de choc entre deux données identiques. Donc il faudrait traiter d'abord la page principale, et attendre que son thread soit terminé pour traiter les pages des catégories.
Author
Owner
  • Article en doublon supprimé lors d'une suppression générale, et non en cas par cas en restant sur des updates d'article. J'ai encore des problèmes avec le titre, et je vais encore refaire des tests avec les slugs, sinon je vais essayer les conversions de format d'encodage.

  • Problème de format résolu

  • Traitement en sequence des articles et featured_media avec les pages d'index qui reduit les problèmes de page mis en avant, mais certains articles n'ont pas les images, il faut que je regarde les noms des images s'ils sont toujours existant.

* Article en doublon supprimé lors d'une suppression générale, et non en cas par cas en restant sur des updates d'article. J'ai encore des problèmes avec le titre, et je vais encore refaire des tests avec les slugs, sinon je vais essayer les conversions de format d'encodage. * Problème de format résolu * Traitement en sequence des articles et featured_media avec les pages d'index qui reduit les problèmes de page mis en avant, mais certains articles n'ont pas les images, il faut que je regarde les noms des images s'ils sont toujours existant.
Author
Owner

Je vais ressayer les boucles as_completed pour attendre le lancement de certaines tâches

Je vais ressayer les boucles as_completed pour attendre le lancement de certaines tâches
Author
Owner

Suppression générale à faire dans une classe WPRemove, et non dans une méthode WPImport

Suppression générale à faire dans une classe WPRemove, et non dans une méthode WPImport
Author
Owner

Après la création de la classe WPRemove :

  • La mise en place du thread se fera par per_page, et non par article

La classe WPRemove aura plus plusieurs methodes publiques (getcount, clean-all, clean-article, clean-tag, clean-categorie) et une methode privée ( delete avec un paramètre)

Après la création de la classe WPRemove : * La mise en place du thread se fera par per_page, et non par article La classe WPRemove aura plus plusieurs methodes publiques (getcount, clean-all, clean-article, clean-tag, clean-categorie) et une methode privée ( delete avec un paramètre)
Sign in to join this conversation.
No Label
No Milestone
No project
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: v4l3n71n/web_scrap#10
No description provided.