Hola:
Hemos leído varios artículos de Webempresa, visto los videotutoriales, escrito tickets (que nos remiten al foro) y visto los hilos más importantes sobre este tema.
Estas son las referencias que hemos consultado:
Artículos y video:
https://www.webempresa.com/blog/revision-tareas-programadas-cron-wordpress.html
https://www.webempresa.com/blog/desactivar-el-fichero-wp-cron-php-para-evitar-consumo-excesivo-del-servidor.html
https://www.youtube.com/watch?v=YnvdpPL_0Qc
Hilos foro:
https://www.webempresa.com/foro/preguntas-sobre-wordpress/programacion-perdida
¿Qué tecnologías usamos?
- Wordpress
- Plugin de membresías Memberpress
- No estamos usando el plugin WP Control
- Tampoco usamos plugins para calendarizar entradas.
LOS DOS PROBLEMAS:
Problema 1 > Programaciones perdidas de entradas
Este problema lo hemos tenido desde siempre, incluso en otro de nuestros dominios dentro de webempresa.
Ponemos una hora, aparece programación perdida.
Problema 2 > Recordatorios o reminders de Memberpress no son enviados.
En nuestra academia www.meridyamacademy.com mediante el plugin de Memberpress podemos establecer correos automáticos y correos de recordatorio. Los primeros son para saludar cuando las personas se hacen miembros, o avisar que falló el pago etc. Los segundos son para avisos con tiempo, por ejemplo 1 hora despues de abandonar el carrito de pago, o 2 días antes de que venza su pago.
Los primeros están llegando bien, pero los segundos no.
Ya revisamos y ahí dentro del admin de WP y Memberpress y todo está bien configurado.
¿QUÉ MÁS HEMOS HECHO?
- Leímos y vimos los artículos, videos e hilos citados al inicio.
- Agregamos define('DISABLE_WP_CRON', 'true'); en el archivo wp-config.php
- Creamos una tarea cron desde Cpanel. Establecimos que fuera cada minuto. Y en el comando utilizamos el que aparece en los tutoriales citados.
No está funcionando. Ni los recordatorios ni las programaciones de entradas.
Este es el comando que usamos exactamente:
wget -q "https://meridyamacademy.com/wp-cron.php?doing_wp_cron"
Todos los tiempos quedaron con *
Vimos en los hilos del foro que también sugieren usar:
wget -q -O – -t 1 https://tudominio.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Así que luego probamos con:
wget -q -O – -t 1 https://meridyamacademy.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Pero tampoco está funcionando, siguen perdiéndose las programaciones, y no se envían los recordatorios de memberpress.
Ya no sabemos qué más probar. Podríamos vivir publicando manualmente, pero los recordatorios son una base muy importante de nuestro proceso de ventas.
Queríamos darles todo el contexto para ver qué más nos sugieren que probemos.
Quedamos atentos y desde ya muy agradecidos con sus respuestas.
Contenido solo visible a usuarios registrados
Hola Enrique,
En estas programaciones perdidas se muestra algún tipo de mensaje que se pueda identificar o tener un indicio de lo que sucede?, sin embargo veo que este complemento es de pago y no podemos comprobar su funcionalidad.
De manera general verifica las opciones que menciona su documentación para revisar que las tareas se esté ejecutando bien, por ejemplo puedes revisar el siguiente enlace -> Contenido solo visible a usuarios registrados puedes revisar si modificando el intervalo de ejecución de estas tareas funciona, para ello puedes usar el plugin que recomienda en el enlace -> https://wordpress.org/plugins/wp-crontrol/
Si no logras aún verificar el error te sugiero contactes directamente con el soporte del plugin para que te indiquen que puede estar sucediendo y como solucionarlo
Un Saludo
Hola Karen:
Sí, lo indicado en este artículo ya lo revisamos y probamos: https://docs.memberpress.com/article/232-reminders-not-sending
Si gustas podemos concentrarnos en el tema de las programaciones perdidas, porque ese problema lo estamos teniendo en fundapymes.com que es otro dominio alojado en webempresa, por ende no tiene relación con memberpress, y nos parece que al solucionar lo de programaciones perdidas vamos a solucionar en general el otro tema.
Sobre el error, lo que se muestra es bastante genérico, solamente cambia a decir "Programación perdida" en rojo, donde antes decía "Programada". Aparece en la misma línea de la entrada, encima de la fecha.
Estoy subiendo aquí una captura:
Que tal Enrique,
Teniendo en cuenta lo que nos has explicado y tomando tu palabra vamos a concentrar en este caso nuestra atención al inconveniente de las entradas con el enunciado de "Programación perdida"
Ahora bien las causas pueden ser variadas asi que pasare a dejarte algunas recomendaciones con las que idealmente solucionemos el inconveniente:
-Verifica la zona horaria configurada en tu Wordpress desde el apartado de los ajustes generales
-Aumentemos el limite de memoria desde el archivo wp-config.php, con el siguiente código
define('WP_MEMORY_LIMIT', '768M');
-Activemos el cron alternativo de WP, tenemos en cuenta que has desactivado el cron de WP pero podemos probar el funcionamiento con su version alterna, esto podemos lograrlo tambien desde el archivo wp-config.php añadiendo lo siguiente
define('DISABLE_WP_CRON', true);
define('ALTERNATE_WP_CRON', true);
-Si utilizas algun plugin que gestione la cache desactívalo durante las pruebas
-Instalar el siguiente plugin para comprobar si hay entradas programadas y si es el caso las publica https://wordpress.org/plugins/missed-scheduled-posts-publisher/
Espero que con estas revisiones pueda resolverse el problema, Saludos!
-Si utilizas algun plugin que gestione la cache desactívalo durante las pruebas
R/ Ok, comenzamos por este punto.
En Fundapymes.com tenemos “wp super cache” instalado pero inactivo.
En MeridyamAcademy.com sí lo teníamos activo, así que lo inactivamos.
-Verifica la zona horaria configurada en tu Wordpress desde el apartado de los ajustes generales
R/ La tenemos configurada a nuestra zona horaria. Es decir está bien. ¿Cuál es el ajuste que estarías recomendando que hagamos acá?
Porque en todo caso, aunque yo haya puesto 8am y me esté equivocando pensando que son mis 8, pero realmente son por ejemplo mis 10am, el asunto es que el artículo a las 8am del sistema cambia su estado de “PROGRAMADO” a “PROGRAMACIÓN PERDIDA”.
Probamos esto: Lo teníamos en “compensación manual” UTC-6 y lo pasamos a “Costa Rica”. Pero siguió el problema de programación perdida en ambos dominios.
-Aumentemos el limite de memoria desde el archivo wp-config.php, con el siguiente código
define('WP_MEMORY_LIMIT', '768M');
R/ Agregamos la linea completa en el config de ambos dominios. Volvimos a hacer pruebas (dejando como veníamos con todos los ajustes de los puntos anteriores), pero sigue perdiéndose la programación.
-Activemos el cron alternativo de WP, tenemos en cuenta que has desactivado el cron de WP pero podemos probar el funcionamiento con su version alterna, esto podemos lograrlo tambien desde el archivo wp-config.php añadiendo lo siguiente
define('DISABLE_WP_CRON', true);
define('ALTERNATE_WP_CRON', true);
R/ Agregada la 2da linea en los config. Le pusimos los símbolos ‘ '
Quedó así en ambos dominios:
Aún se sigue perdiendo la programación en ambos dominios.
-Instalar el siguiente plugin para comprobar si hay entradas programadas y si es el caso las publica https://wordpress.org/plugins/missed-scheduled-posts-publisher/
R/ Antes de instalar un nuevo plugin en los WP.
¿Podríamos revisar los “comandos” que estamos utilizando en las tareas CRON?
En fundapymes.com tenemos:
wget -q "https://fundapymes.com/wp-cron.php?doing_wp_cron"
En meridyamacademy.com tenemos:
wget -q -O – -t 1 https://meridyamacademy.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
En ambos casos tiene todo a configurado a cada minuto, cada hora, cada día, cada mes, cada semana * * * * * *
¿Cuál recomiendan probar para seguir tratando de resolver este problema sin llegar a usar plugins adicionales?
Hola
Antes de profundizar en posibles problemas con el cron a nivel de WordPress, verifica primero el cron a nivel de servidor.
Desde el CPanel de tu cuenta de hosting tienes una opción para enviar un correo cada vez que se ejecuta el cron
El cron que programes en el servidor debe ser mínimo de 15m, no programes cron menores de tiempo.
Al entrar en la opcion de cron busca la sección de Email cron e ingresa un correo al cual se enviará la notificación.
Asegúrate de que llegue correctamente.
Puedes enviarnos igual una captura de pantalla para ver cómo tienes configurado el cron en caso sigas con problemas.
Saludos.
(el config de meridyamacademy.com y de fundapymes.com están escritos idénticamente)
Hola
Te llega la notificación al correo?, como te comenté sino te llega la notificación entonces no se esta ejecutando el cron del servidor y por lo tanto no funcionará ninguna programación a nivel de WordPress ya que tienes deshabilitado el cron virtual.
Algo que también puedes probar es quitar el código para deshablitar el cron virtual (lo que agregaste en el wp-config.php), instala luego una plugin como wp control
https://es.wordpress.org/plugins/wp-crontrol/
Revisa si tienes algún problema con las programaciones.
PD. WordPress trabaja por defecto con un cron virtual, pero por optimización muchas veces se recomienda quitarlo si ya tienes un cron real en Cpanel, pero algunos plugins de comprobación sólo trabajan con el cron virtual, así que mejor deja el cron virtual, puedes también mantener el cron de cpanel, pero asegúrate de que envíe correos.
Saludos.
Dos consultas para seguir tus indicaciones:
1. ¿El código que tengo que quitar del config es define('DISABLE_WP_CRON', true) ?
2. ¿Cuál comando me recomiendas usar en la tarea de cron? Por favor ayudarnos con este dato, es que lo hemos consultado un par de veces arriba.
Gracias
Hola Enrique,
1. ¿El código que tengo que quitar del config es define('DISABLE_WP_CRON', true) ?
Correcto
2. ¿Cuál comando me recomiendas usar en la tarea de cron? Por favor ayudarnos con este dato, es que lo hemos consultado un par de veces arriba.
Puedes seguir nuestra guía para esto:
Verifica y nos comentas.
Un saludo 🖐️
2. ¿Cuál comando me recomiendas usar en la tarea de cron? Por favor ayudarnos con este dato, es que lo hemos consultado un par de veces arriba.
Puedes seguir nuestra guía para esto:
Hola Argenis. Ese link de esa guía, fue uno de las fuentes que mencionamos en nuestro primer mensaje de este hilo en cuanto a guías y videos que ya habíamos consultado y probado tratando de arreglar el problema.
El problema tuvimos que resolverlo con un servicio técnico externo.
Hola Enrique,
Enhorabuena lograron solucionar el error que se estaba generando, en este caso coméntanos si con esto podemos dar el tema como solucionado
Un Saludo