Si utilizas WordPress y has encontrado el mensaje «Action Scheduler migration in progress. The list of scheduled actions may be incomplete», probablemente estás enfrentando problemas relacionados con la acumulación de tareas pendientes en tu sistema de programación. Este problema también puede ocasionar que tu base de datos crezca de manera descontrolada, llevando a mensajes como «Has alcanzado la capacidad máxima de tu base de datos». En este artículo, te explicaremos cómo solucionar este problema y optimizar tu sitio web.
¿Por qué ocurre este problema?
El mensaje aparece porque Action Scheduler, una biblioteca utilizada por plugins como WooCommerce para gestionar tareas programadas, está intentando migrar tareas o procesarlas, pero encuentra dificultades debido a:
- Tareas atascadas o vencidas: Hay demasiadas tareas acumuladas en estado «Pending» o «Past-due».
- Cron interno de WordPress inactivo: Si
wp-cron.php
no se está ejecutando correctamente, las tareas programadas no se procesarán. - Conflictos con plugins: Plugins como Wordfence pueden bloquear solicitudes internas necesarias para ejecutar las tareas.
- Limitaciones del servidor: Recursos como tiempo de ejecución o memoria pueden ser insuficientes.
Pasos para solucionar el problema
1. Ejecutar tareas manualmente
- Ve a WooCommerce > Status > Action Scheduler.
- Filtra por «Past-due» (tareas vencidas).
- Ejecuta manualmente algunas tareas haciendo clic en Run.
Si las tareas se ejecutan correctamente, el problema puede estar en el cron automático de WordPress.
2. Verificar y configurar el cron interno de WordPress
- Abre tu archivo
wp-config.php
y asegúrate de que el cron interno esté habilitado:define('DISABLE_WP_CRON', false);
- Accede a
https://tu-sitio.com/wp-cron.php
desde tu navegador.- Si no funciona o muestra un error, deberás configurar un cron real en tu servidor.
- Si tu sitio tiene mucho tráfico, desactiva el cron interno:
define('DISABLE_WP_CRON', true);
- Configura un cron real en tu servidor (por ejemplo, desde cPanel):
wget -q -O - https://tu-sitio.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
3. Eliminar tareas atascadas o innecesarias
Para reducir el tamaño de la tabla y limpiar tareas atascadas, ejecuta estas consultas SQL:
- Eliminar tareas vencidas más antiguas de una semana:
DELETE FROM wp_actionscheduler_actions WHERE status = 'pending' AND scheduled_date_gmt < NOW() - INTERVAL 1 WEEK;
- Optimizar la tabla:
OPTIMIZE TABLE wp_actionscheduler_actions;
4. Verificar conflictos con plugins (como Wordfence)
Wordfence puede bloquear solicitudes internas, como las relacionadas con wp-cron.php
.
- Ve a Wordfence > Tools > Live Traffic y busca bloqueos relacionados con:
wp-cron.php
admin-ajax.php
- Añade excepciones en Wordfence > All Options > Allowlisted URLs para estas rutas.
- Configura el modo «Learning Mode» en el firewall de Wordfence para evitar bloqueos innecesarios.
5. Incrementar recursos del servidor
Si el servidor tiene recursos limitados, las tareas no se ejecutarán. Incrementa estos valores en tu archivo php.ini
:
max_execution_time = 300
memory_limit = 512M
Contacta a tu proveedor de hosting si necesitas ayuda.
6. Monitorear y optimizar el Action Scheduler
Usa plugins como WP Crontrol para inspeccionar y gestionar las tareas programadas. También puedes utilizar herramientas como WP Optimize para limpiar y optimizar la base de datos.
¿Necesitas más ayuda?
Resolver el mensaje «Action Scheduler migration in progress. The list of scheduled actions may be incomplete» implica identificar el origen del problema, ya sea en los cron jobs, tareas pendientes, conflictos de plugins o limitaciones del servidor. Siguiendo los pasos mencionados, puedes limpiar tu base de datos y optimizar el rendimiento de tu sitio WordPress.
Si necesitas ayuda adicional para solucionar este problema, no dudes en contactarnos en Heartize™, donde nuestro equipo estará encantado de ayudarte a mantener tu sitio en óptimas condiciones.