Estoy usando Discourse/CDCK alojado para configurar mi sitio. Actualmente estoy trabajando en tomar conversaciones de una exportación de Slack, hacer un poco de preprocesamiento en el texto, generar un título con un transformador de Hugging Face, y luego agregarlo a Discourse a través de la API.
Vi en otro foro (no lo encuentro, lo siento) que usar la API para operaciones masivas no es una buena práctica. También sigo encontrando límites de velocidad y otros problemas para los que he intentado modificar la configuración, pero finalmente sigo encontrando límites de velocidad sin éxito. ¿Tienen alguna sugerencia sobre cómo importar masivamente cualquier tipo de archivo que pueda producir con los mensajes de Slack?
Los mensajes de Slack procesados (amigables con Discourse) están en una base de datos y tengo un script que los extrae y los envía a la API de Discourse. Podría cambiar fácilmente esto para crear un archivo que Discourse pudiera ingerir y generar temas en masa.
Normalmente usarás un script de importación en un servidor que controles o en una instancia de desarrollo. Necesitarías poner tu sitio en modo de solo lectura, descargar la copia de seguridad de tu instancia alojada, hacer el trabajo, hacer una copia de seguridad, subirla a tu instancia alojada y solicitar que se restaure tu copia de seguridad. Si tu sitio está en vivo y un día de solo lectura no es un problema, haz esto.
Si el tiempo de solo lectura es Realmente Malo y solo tienes unos pocos miles de publicaciones, escribe tu script para que tenga retrasos entre llamadas y también intente nuevamente cuando se le niegue.
Si tienes decenas de miles de publicaciones, tendrás que convencerte a ti mismo y a los demás de que un día de solo lectura no es Realmente Malo.
Consulta scripts/import_scripts en el código fuente para ver ejemplos.
Solo estoy extrayendo unos cientos a la vez, así que probablemente solo pondré retrasos para no tener que levantar la instancia local. Estamos trasladando lentamente las conversaciones más largas con personas específicas para poblar nuestro sitio de Discourse con un montón de conversaciones valiosas que ya no se pueden buscar a través de Slack.
¿CDCK admitirá alguna vez alguna forma de invocar estos scripts de importación masiva o posiblemente exponer una capacidad de importación masiva a través de la API?
Lo dudo, ya que es una solicitud bastante específica y potencialmente muy peligrosa. Casualmente, estoy a punto de empezar a trabajar en un plugin que aceptará una URL de una hoja de cálculo de Google Docs con hojas para categorías, usuarios, temas y publicaciones, y las importará, pero esperaría que solo estuviera disponible para autoalojados y clientes empresariales.
Está bien, estoy agregando un manejo de excepciones y omitiendo si el ID externo ya existe. Este flujo de trabajo funciona bien ya que solo intentamos importar unos cientos a la vez y luego los revisamos manualmente y los corregimos. Solo quería asegurarme de que no estaba haciendo nada que pudiera ponerme en una mala situación.
Dicho esto, ¡ese complemento parece una gran alternativa! Espero que ofrezcan una tarifa para habilitarlo por un mes y luego volver al plan de equipo.
Acabo de subir 500. Tardó un tiempo, pero lo único que hice fue acortar los tiempos de espera a 1 segundo para las publicaciones y los temas, y añadí una pausa de un segundo después de cada llamada de creación y eso lo solucionó. Tardó unas 4 horas en subir ~500 mensajes.
Esta es definitivamente la manera. Esto nos dará mucho en qué pensar y moderar por un tiempo.
Por cierto, todo esto está actualmente en un Discourse privado, así que vamos a hacerlo bonito antes de abrir las puertas.
¡Gracias de nuevo por toda tu ayuda! ¡Espero con ansias ese nuevo plugin!