Hola a todos,
Tengo una web multisite de congresos ( https://reunionesdeestudiosregionales.org/barcelona2026) desde la que envío un mailing a los socios usando AWS, pero últimamente tarda mucho en llegar y últimamente el plugin desde el cual los envío "Offload SES Lite" deja los correos atascados en la cola sin siquiera enviarlos.
En el Ticket de webempresa me recomendaron usar este comando de cron desde el servidor: /opt/alt/php82/usr/bin/php /home2/hosting168458eu/public_html/rer/wp-cron.php > /dev/null 2>&1, y es el que tengo.
He hecho comprobaciones y el cron PHP del servidor ejecuta /rer/wp-cron.php, pero no procesa los eventos programados del subsite multisite /barcelona2026.
He probado manualmente en el navegador https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron y la cola de correos almacenados en el plugin de WP Offload SES se procesa al instante, cosa que no estaba ocurriendo con la ejecución del cron actual, que no procesa dicha cola. Necesito que el cron real llame a esa URL del subsite, no al wp-cron.php por CLI. ¿Es posible?
Gracias.
Hola,
En este caso, por lo que comentas, el cron del servidor sí se está ejecutando, pero está llamando al wp-cron.php de la instalación principal:
/opt/alt/php82/usr/bin/php /home2/hosting168458eu/public_html/rer/wp-cron.php > /dev/null 2>&1
Al tratarse de un WordPress Multisite, es posible que los eventos del plugin estén asociados al subsite /barcelona2026, por eso al ejecutar directamente esta URL desde el navegador:
https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron
la cola se procesa correctamente.
Puedes probar creando una tarea cron desde WePanel que llame directamente al cron del subsite mediante wget, por ejemplo:
wget -q -O - "https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
Puedes revisar como crear estas tareas en WePanel en el siguiente enlace → https://guias.webempresa.com/preguntas-frecuentes/crear-tareas-programadas-tareas-cron-cpanel/
Configúralo, por ejemplo, cada 5 o 10 minutos, y revisa si con ello la cola de WP Offload SES se procesa sin quedar atascada.
Si tienes actualmente desactivado el cron interno de WordPress con:
define('DISABLE_WP_CRON', true);
puedes dejarlo así, pero asegúrate de que la tarea cron del servidor apunte al subdirectorio correcto.
Si después de esto sigue sin procesarse, habría que revisar si el plugin tiene algún cron específico propio o si la cola queda bloqueada por algún error interno del plugin/AWS SES
Verifica esto y nos comentas cómo ha ido todo.
Un saludo.
Hola,
Muchas gracias por la respuesta. He usado el comando que me sugerías pero los mails se siguen acumulando hasta que ejecuto manualmente el comando https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron. En ese momento la cola se procesa al instante. ¿Puedes sugerirme otro comando cron que me pueda servir?
Gracias.
Hola Conxita.
Desactiva el cron de WordPress añadiendo lo siguiente en el archivo wp-config antes de la línea /* That's all, stop editing! Happy blogging. */
define('DISABLE_WP_CRON', true);
Revisa si con eso se soluciona y nos comentas.
Un saludo
Hola,
Ya tenía esa línea incluida en el config.php, pero no parece que tenga incidencia en este caso.
Gracias.
Hola Conxita.
El cron es para rer o para aecr ?
En rer si que está añadido pero en aecr no.
Un saludo
Hola.
El cron es para rer. Aecr de momento no lo necesita.
Gracias.
Que tal Conxita,
Considerando lo sugerido por mi compañera puedes probar usando el siguiente comando
curl -s "https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
En lugar de wget podemos probar como se comporta con curl
Por otro lado, también podríamos probar apuntar directamente
/usr/local/bin/wp cron event run --due-now --url="https://reunionesdeestudiosregionales.org/barcelona2026" --path=/home2/hosting168458eu/public_html/rer --allow-root > /dev/null 2>&1
Valida y nos comentas
Saludos!
Hola de nuevo,
Este código:
curl -s "https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
No ha funcionado. He tenido que ejecutarlo manualmente de nuevo. Probaré con el otro, a ver si funciona.
Gracias.
Hola Conxita,
Entiendo, en este caso como comentas prueba con el segundo comando que menciona Bruno, al indicarle a la URL el subsite la tarea deberia ejecutar los eventos cron pendientes correspondientes a /barcelona2026.
Pruebalo y revisa como va y sin con esto se procesan correctamente.
Un saludo
Hola,
He probado con ese segundo comando (/usr/local/bin/wp cron event run --due-now --url="https://reunionesdeestudiosregionales.org/barcelona2026" --path=/home2/hosting168458eu/public_html/rer --allow-root > /dev/null 2>&1) y tampoco funciona bien. El mailing del viernes no se envió y hoy también estoy teniendo problemas. Ahora mismo tengo que enviar los mailings ejecutando el cron manualmente. ¿Hay alguna otra cosa que pueda hacer?
Gracias
Hola Conxita,
En el cron del hosting, prueba con este comando:
/usr/bin/curl -L "https://reunionesdeestudiosregionales.org/barcelona2026/wp-cron.php?doing_wp_cron"
Prueba tambien con este:
/usr/local/bin/wp cron event run --due-now --url="https://reunionesdeestudiosregionales.org/barcelona2026/" --path=/home2/hosting168458eu/public_html/rer --allow-root > /dev/null 2>&1
Si al abrir manualmente esa URL en el navegador se procesan los envíos pendientes, pero desde el cron no ocurre, entonces habría que revisar si el servidor está bloqueando la llamada interna o si el comando no se está ejecutando como esperamos.
Quedamos atentos.
Un saludo 🖐️