Qué importa primero: WP-Cron está accionado por petición por defecto. Los eventos pueden permanecer atrasados cuando el tráfico está ausente, los loopbacks fallan, DISABLE_WP_CRON está configurado, el bloqueo cron está atascado o una llamada de vuelta se bloquea repetidamente.
Qué indica realmente este síntoma
Una cola de eventos atrasados es evidencia de un incidente de programación, pero no todos los eventos tardíos tienen la misma causa. La lista de eventos, siguiente ejecución, llamada de retorno y PHP logs revelan si el programador nunca comenzó o comenzó y falló.
Recopila pruebas antes de cambiar nada
- Enumere los eventos atrasados con sus ganchos, los tiempos siguientes y la repetición.
- Comprueba DISABLE_WP_CRON y cualquier servidor real cron que deba reemplazar la activación del visitante.
- Inspecciona la salud de loopback y el bloqueo transitorio cron.
- Ejecute un gancho afectado manualmente mientras observa PHP y aplique logs.
Causas más habituales
- Sin gatillo: El tráfico bajo o el visitante discapacitado cron deja intactos los eventos debidos.
- Reemplazo roto cron: El comando cron del servidor utiliza la ruta incorrecta, URL o PHP binario.
- Cerradura atascada: Una solicitud se estrelló deja a cron creyendo que otro proceso todavía está en ejecución.
- Fallando en la devolución de llamada: Una tarea plugin se multiplica, agotan la memoria o lanzan un error fatal.
Secuencia segura de diagnóstico y reparación
- Elija una activación de visitante confiable o un sistema real cron, no una mezcla indocumentada.
- Ejecute el evento Wp cron Ejecute –due-now en una ventana controlada y Captura fallos.
- Reparar o eliminar el llamada de retorno específico que bloquea o inunda la cola.
- Supervisar la edad de la cola y la recurrencia después de los próximos ciclos normales de programación.
Cómo distinguir entre las causas probables
No trates Sin gatillo y Reemplazo roto cron como causas equivalentes. El tráfico bajo o el visitante discapacitado cron deja intactos los eventos debidos. En cambio, el comando cron del servidor utiliza la ruta incorrecta, URL o PHP binario. Para distinguirlas, usa estas dos comprobaciones: Enumere los eventos atrasados con sus ganchos, los tiempos siguientes y la repetición; y comprueba DISABLE_WP_CRON y cualquier servidor real cron que deba reemplazar la activación del visitante. Con esos datos podrás decidir si conviene aplicar la primera acción controlada —Elija una activación de visitante confiable o un sistema real cron, no una mezcla indocumentada— o si debes conservar el estado actual y ampliar la investigación.
En un sitio de WordPress en producción, repite la petición que falla mientras compruebas una página que funciona correctamente y el área de administración. Un fallo aislado en una ruta requiere un rollback más acotado que un problema que afecta a PHP, la base de datos o todas las peticiones. Documenta la fecha y hora exactas, la URL o transacción afectada, el último estado correcto conocido y cada cambio realizado durante el diagnóstico. Ese registro permite distinguir una reparación reproducible de una desaparición temporal del síntoma.
Qué no debes hacer
No ejecute cada tarea pendiente repetidamente en una tienda de producción ocupada. Algunos trabajos envían correos electrónicos, cobran renovaciones o procesan pedidos y deben permanecer idempotent.
Cómo verificar la reparación
- Los acontecimientos atrasados caen a una línea de base esperada.
- Los nuevos eventos se ejecutan cerca de su hora programada.
- Trabajos críticos se ejecutan una vez y dejan éxito o fracaso auditablos registros.
Que el síntoma visible desaparezca no es suficiente. Cierra la incidencia solo cuando la acción original que fallaba, el recorrido de negocio relacionado y los registros relevantes confirmen que el problema ha desaparecido.