Problemas con bancos de preguntas compartidos: solución definitiva

por | Oct 29, 2025 | Blog | 0 Comentarios

Uno de los errores más frustrantes para los administradores y profesores de Moodle aparece cuando los bancos de preguntas compartidos dejan de funcionar correctamente. Este problema suele manifestarse de varias formas:

  • Las preguntas no aparecen en los cursos donde deberían.

  • Las categorías de preguntas se duplican o desaparecen.

  • Al intentar crear una nueva pregunta, aparece un mensaje de error del tipo:
    “Las tareas adhoc tasks \mod_qbank\task\transfer_question_categories y \mod_qbank\task\transfer_questions no se han completado o han fallado.”

A continuación, te explicamos por qué ocurre este fallo y cómo resolverlo de forma definitiva, tanto si eres administrador de Moodle como si gestionas una plataforma de formación profesional o empresarial.

1. Causa principal del problema

Desde Moodle 4.0, la gestión de los bancos de preguntas cambió notablemente. Antes, cada curso tenía su propio banco independiente; ahora, Moodle intenta sincronizar y compartir preguntas entre contextos, lo que mejora la colaboración pero también introduce complejidad.

El error suele deberse a que las tareas programadas o adhoc tasks que trasladan preguntas entre contextos no se ejecutan correctamente. Estas tareas son esenciales para actualizar la base de datos y sincronizar los bancos entre cursos y categorías.

Si la tarea se interrumpe o no se ejecuta (por ejemplo, porque el cron de Moodle no está funcionando bien), el sistema deja de mover las preguntas y se bloquean las operaciones relacionadas.

2. Verificar si el cron funciona correctamente

El primer paso es asegurarse de que el cron de Moodle esté ejecutándose sin errores.
Para comprobarlo:

  • Accede a Administración del sitio > Servidor > Tareas programadas (Scheduled tasks).

  • Verifica que las tareas relacionadas con los bancos de preguntas se estén ejecutando:

    • \mod_qbank\task\transfer_question_categories

    • \mod_qbank\task\transfer_questions

  • Comprueba el último tiempo de ejecución y si hay errores registrados.

Si el cron no se está ejecutando regularmente (cada minuto o cada pocos minutos), Moodle no podrá completar la transferencia de categorías y preguntas, y el problema persistirá.

3. Ejecutar las tareas manualmente

Una vez confirmado el fallo, la solución más efectiva es forzar la ejecución manual de las tareas pendientes.
Para ello, accede a tu servidor (por SSH o terminal) y ejecuta los siguientes comandos dentro del directorio raíz de Moodle:

php admin/cli/adhoc_task.php --execute
php admin/cli/scheduled_task.php --execute="\mod_qbank\task\transfer_question_categories"
php admin/cli/scheduled_task.php --execute="\mod_qbank\task\transfer_questions"

Estos comandos obligan a Moodle a ejecutar las tareas relacionadas con la transferencia de categorías y preguntas, actualizando la base de datos y eliminando inconsistencias.

4. Comprobar permisos y contextos

En algunos casos, el error persiste porque las categorías de preguntas pertenecen a contextos no válidos (por ejemplo, cursos eliminados o restaurados incorrectamente).
Para verificarlo:

  • Ve a Banco de preguntas > Categorías y revisa que cada categoría esté correctamente asociada a un curso o contexto válido.

  • Elimina las categorías huérfanas o sin asignar.

  • Asegúrate de que los roles (profesor, administrador, creador de curso) tengan los permisos adecuados:

    • moodle/question:add

    • moodle/question:editall

    • moodle/question:useall

Esto garantizará que los usuarios puedan ver, editar y usar las preguntas compartidas.

5. Limpiar la caché y verificar integridad

Tras ejecutar las tareas y corregir permisos, conviene limpiar la caché para asegurar que Moodle muestre los datos actualizados:

  • Ve a Administración del sitio > Desarrollo > Purgar todas las cachés.

  • Confirma la acción y recarga el banco de preguntas.

Además, revisa en Administración del sitio > Notificaciones que no haya actualizaciones pendientes del módulo qbank o de los componentes de banco de preguntas.

6. Solución definitiva: mantener el cron activo y revisar tareas

Para evitar que este problema vuelva a aparecer, debes asegurarte de que el cron de Moodle se ejecute de forma continua y automática.
Lo ideal es configurarlo para que se ejecute cada minuto con una tarea programada del sistema (cron job en Linux o tarea programada en Windows):

* * * * * /usr/bin/php /ruta/a/moodle/admin/cli/cron.php >/dev/null 2>&1

Esto mantiene la base de datos y los bancos de preguntas sincronizados en todo momento.

Conclusión

Los bancos de preguntas compartidos son una de las herramientas más potentes de Moodle, pero también una de las más sensibles a errores de sincronización. Si las tareas internas del sistema no se ejecutan correctamente, es normal encontrar bloqueos y mensajes de error.

La solución definitiva pasa por asegurarse de que las tareas programadas y adhoc estén en funcionamiento, ejecutar manualmente las pendientes y mantener el cron activo cada minuto. Con ello, tu plataforma Moodle volverá a funcionar con normalidad, y podrás gestionar y compartir preguntas sin inconvenientes.

Written by

Related Posts

Instalar Moodle en Plesk: guía completa paso a paso

Moodle es una de las plataformas de e-learning más potentes y utilizadas en el mundo, y Plesk facilita su instalación y mantenimiento si sigues una estructura ordenada. A continuación tienes la guía definitiva para instalar Moodle en Plesk desde cero, con todos los...

leer más

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad