Téléchargement en masse de sujets et de messages depuis Slack

Salut à tous,

J’utilise Discourse/CDCK hébergé pour configurer mon site. Je travaille actuellement à la récupération de conversations à partir d’une exportation Slack, à un peu de prétraitement du texte, à la génération d’un titre avec un transformateur Hugging Face, puis à son ajout à Discourse via l’API.

https://tabular.discourse.group/t/why-would-t-we-commit-a-snapshot-that-has-made-no-changes/42

J’ai vu sur un autre forum (je ne le retrouve pas, désolé) que l’utilisation de l’API pour des opérations en masse n’est pas une bonne pratique. Je rencontre également des limites de débit et d’autres problèmes pour lesquels j’ai essayé de modifier les paramètres, mais je continue de rencontrer des limites de débit en vain. Avez-vous des suggestions sur la façon d’importer en masse tout type de fichier que je pourrais produire avec les messages Slack ?

Les messages Slack traités (compatibles avec Discourse) sont dans une base de données et j’ai un script qui les extrait et les envoie à l’API Discourse. Je pourrais facilement modifier cela pour créer un fichier que Discourse pourrait ingérer et générer des sujets en masse.

Merci

1 « J'aime »

Généralement, vous utiliserez un script d’importation sur un serveur que vous contrôlez ou une instance de développement. Vous devrez mettre votre site en mode lecture seule, télécharger la sauvegarde de votre instance hébergée, effectuer le travail, faire une sauvegarde, la télécharger sur votre instance hébergée et demander la restauration de votre sauvegarde. Si votre site est en ligne et qu’une journée en lecture seule ne pose pas de problème, faites ceci.

Si le temps de lecture seule est vraiment problématique et que vous n’avez que quelques milliers de publications, écrivez votre script pour qu’il y ait un délai entre les appels et qu’il réessaie en cas de refus.

Si vous avez des dizaines de milliers de publications, vous devrez vous convaincre vous-même et les autres qu’une journée en lecture seule n’est pas vraiment problématique.

Voir scripts/import_scripts dans le code source pour des exemples.

1 « J'aime »

Je n’en récupère que quelques centaines à la fois, donc je vais probablement simplement ajouter des délais pour ne pas avoir à mettre en place l’instance locale. Nous transférons lentement les conversations plus longues avec des personnes spécifiques pour peupler notre site Discourse avec un tas de conversations précieuses qui ne sont plus consultables via Slack.

CDCK supportera-t-il un jour un moyen d’invoquer ces scripts d’importation en masse ou d’exposer une capacité d’importation en masse via l’API ?

J’en doute, car c’est une demande assez spécifique et potentiellement très dangereuse. Coïncidence, je m’apprête à commencer à travailler sur un plugin qui acceptera une URL d’une feuille de calcul Google Docs avec des feuilles pour les catégories, les utilisateurs, les sujets, les publications, et les importera, mais je m’attendrais à ce qu’il ne soit disponible que pour les clients auto-hébergés et les clients d’entreprise.

1 « J'aime »

Très bien, j’ajoute une gestion des exceptions et je saute si l’identifiant externe existe déjà. Ce flux de travail fonctionne bien car nous n’essayons d’importer que quelques centaines à la fois, puis nous les corrigeons manuellement. Je voulais juste m’assurer que je ne faisais rien qui puisse me mettre dans une mauvaise situation.

Cela dit, ce plugin semble être une excellente alternative ! J’espère que vous proposeriez des frais pour l’activer pendant un mois, puis revenir au plan d’équipe.

Si vous utilisez l’API, vous disposez d’un ensemble de protections fournies par Rails pour vous assurer que vous ne faites rien de vraiment grave.

3 « J'aime »

Merci Jay !

Je viens de téléverser 500. Cela a pris du temps, mais tout ce que j’ai fait, c’est de réduire les temps d’attente à 1 seconde pour les publications et les sujets, et d’ajouter une pause d’une seconde après chaque appel de création, et cela a résolu le problème. Il a fallu environ 4 heures pour téléverser ~500 messages.

C’est définitivement la bonne approche. Cela nous donnera beaucoup de matière à examiner et à modérer pendant un certain temps.

Au fait, tout cela se trouve actuellement dans un Discourse privé, nous allons donc le rendre joli avant d’ouvrir les portes.

Merci encore pour toute votre aide ! J’attends avec impatience ce nouveau plugin !

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.