NuevoBlack Friday: 50 % de descuento en tu primer pago
Solución de problemas de WordPress

Puestos programados muestran “Programa mínimo”

El tiempo de publicación pasó y no pasó nada. WP-Cron no es un reloj — funciona cuando llega una solicitud, y no llegó ninguna petición.

Missed schedule

Respuesta breve

WP-Cron es disparado por cargas de página, por lo que un sitio tranquilo no tiene nada que despedir. Lista los eventos debidos: si se queman con un timetamp en el pasado, el horario está bien y el gatillo está desaparecido, y un verdadero sistema cron lo fija permanentemente.

Diagnóstico

Las causas más probables primero.

Revisa la lista en orden. Cada comprobación permite confirmar o descartar una causa antes de hacer cambios: las soluciones son distintas y adivinar cuesta más que ejecutar un comando.

CausaCómo comprobarloSolución
No hay tráfico en el momento programadoLos eventos debidos se acumulan con los tiempos pasados y luego todos corren a la vez el momento en que cargas una página tú mismo.Conducir cron del sistema operativo en un intervalo fijo en lugar de los visitantes, por lo que la cola se trabaja si alguien está en el sitio o no.
WP-Cron está desactivado y nada lo reemplazóDISABLE_WP_CRON es cierto en wp-config.php, y ninguna tarea programada en el servidor llamadas wp-cron.php.Agregue la entrada cron del sistema que la constante asume existe. Desactivar el gatillo del visitante sin añadir un reemplazo detiene cada tarea programada en el sitio, no sólo la publicación.
La solicitud de devolución fallaEl sitio de salud informa que el sitio no pudo completar una solicitud de devolución. WP-Cron se deslumbra sobre HTTP, por lo que no puede funcionar si el sitio no puede alcanzarse.Arregla el bucle primero — bloquea cron, actualizaciones de plugin y el editor se autosave por igual. Llamando wp-cron.php a través de la línea de comandos pasos HTTP por completo.
La zona horaria del sitio no es lo que usted piensaLos mensajes publican, pero una hora o varias apagadas. Compare el ajuste de la zona horaria de WordPress contra el reloj del servidor.Establece la zona horaria a una ciudad llamada en lugar de un offset UTC, por lo que se maneja el ahorro de luz. Un offset es un número fijo y va mal dos veces al año.
Guía

Solución paso a paso.

Los comandos requieren WP-CLI y acceso a la consola. Si no los tienes, cada paso explica cómo hacer lo mismo desde el panel o por SFTP.

  1. Vea si los eventos son desconcertados y atrasados

    Esto es la división. Los eventos retrasados significan la programación trabajada y nada está ejecutando la cola.

    wp cron event list --fields=hook,next_run_relative,status
  2. Ejecute la cola a mano

    Si el atraso se aclara, el horario nunca fue el problema y usted está buscando un gatillo.

    wp cron event run --due-now
  3. Apaga el gatillo impulsado por el visitante

    Añadir esto a wp-config.php. Por su cuenta hace las cosas peores, así que hacer el siguiente paso en el mismo sentarse.

    define( 'DISABLE_WP_CRON', true );
  4. Dale un horario real

    Cada cinco minutos es suficiente para publicar y suave en un pequeño servidor. Use WP-CLI en lugar de rizar por lo que no se requiere HTTP.

    */5 * * * * cd /path/to/site && wp cron event run --due-now --quiet
  5. Confirme la zona horaria antes de culpar a cron de nuevo

    Un post que publica de forma fiable pero en la hora equivocada es un problema de reloj, no un problema de cola.

    wp option get timezone_string
    date
En MagicWP

De esto se encarga la plataforma.

Cron es impulsado por la plataforma en un intervalo fijo en lugar de por los visitantes, y el gatillo del visitante se apaga, por lo que un post programado para 3am publica a las 3am en un sitio sin tráfico de la noche a la mañana. Debido a que el corredor es la plataforma en lugar de una solicitud HTTP el sitio se hace a sí mismo, un bucle de falla no deja de publicar en silencio.

Preguntas frecuentes

Preguntas frecuentes.

¿Por qué cada publicación perdida publicaba de inmediato cuando abrí el sitio?
Porque su visita fue el gatillo. WP-Cron revisa los eventos debidos en una carga de página, encontró un atraso, y trabajó a través de ella — que es la demostración más clara posible de que el horario era correcto y nada lo estaba disparando.
¿Es un plugin que “fixes perdidos horarios” suficiente?
Repubula los mensajes que se deslizaron, lo que es útil, pero sigue siendo impulsado por las mismas cargas de página que los perdieron. En un sitio tranquilo sólo ayuda una vez que alguien visita.
¿Con qué frecuencia debe correr el cron del sistema?
Cada cinco minutos se adapta a la publicación y la mayoría de trabajo plugin. Bajar a un minuto raramente cambia cualquier cosa que un lector notara y multiplica el número de procesos PHP iniciados por hora.
¿Esto afecta a algo más que a los postes?
Sí — es la misma cola detrás de las copias de seguridad, cheques de actualización de plugin, el envío de correo electrónico apagado y los transientes de limpieza. Un sitio sin desencadenador de cron tiene todos esos silenciosamente no sucede.