Visser Labs – Plugins de WooCommerce

Cómo programar exportaciones según tu hora local

Si solo quieres que una Exportación Programada en Store Exporter Deluxe se ejecute a una hora específica en tu propia zona horaria, usa el desplegable Zona horaria integrado en el paso de Programación. Se cubre en Cómo programar exportaciones en Store Exporter Deluxe, y maneja los cambios de horario de verano automáticamente. No necesitarás nada en esta página para ese caso.

Este artículo cubre un caso diferente y más avanzado: disparar una exportación programada desde un trabajo cron real a nivel de servidor (configurado a través de cPanel o directamente en un servidor Linux) en lugar del programador del propio plugin. Un trabajo cron a nivel de servidor siempre se dispara según el reloj del propio servidor, que comúnmente se establece en UTC+0, independientemente de la zona horaria que hayas elegido dentro del plugin. Por lo tanto, para que ese trabajo cron externo se dispare a, digamos, las 6 am de tu hora local, necesitas convertir tu hora local a la hora del servidor tú mismo.

Prerrequisitos

RequisitoDetalles
ComplementoStore Exporter Deluxe está activo y tiene licencia
Exportación ProgramadaYa creada con la configuración que deseas. Consulta Cómo programar exportaciones en Store Exporter Deluxe si aún no has configurado una.
Acceso a cron a nivel de servidorAcceso a tu cPanel de hosting, o acceso a la línea de comandos de tu servidor, para añadir un trabajo cron.

Convertir tu hora local a la hora del servidor

Para disparar un trabajo cron a una hora local específica, convierte esa hora local al desfase que usa el cron de tu servidor, teniendo en cuenta:

  • Tu desfase de zona horaria actual desde UTC.
  • El horario de verano (DST), si tu región lo observa.

Ejemplo: 6 am hora de Nueva Zelanda, tres veces por semana

Digamos que quieres que una exportación se ejecute a las 6:00 AM hora de Nueva Zelanda, cada lunes, miércoles y viernes.

En el momento de escribir esto, Nueva Zelanda opera en UTC+12 (o UTC+13 durante el horario de verano). Para programar a las 6:00 AM NZDT durante el horario de verano, resta 13 horas para convertir a UTC:

6:00 AM NZDT → 5:00 PM UTC (17:00) del día anterior

Calcula tu propio desfase de la misma manera, usando el desfase estándar o de horario de verano actual de tu región respecto a UTC.

Configurar la exportación programada en el plugin

Dado que el trabajo cron a nivel de servidor maneja la recurrencia, no configures tampoco una frecuencia recurrente en el plugin. De lo contrario, terminarás con archivos de exportación duplicados.

Abre WooCommerce → Store Export desde el menú de administración de WordPress, luego selecciona Scheduled Exports en la sección EXPORTS de la barra lateral.

  1. Abre el horario que deseas disparar externamente.
  2. En el paso Scheduling, establece Frequency a Manual.
    • Esto elimina la configuración de recurrencia, zona horaria y fecha de inicio propia del horario.
    • Solo se ejecuta cuando tú mismo lo disparas, ya sea con Execute Now o con el trabajo cron que estás a punto de configurar.
Paso de programación de Store Exporter Deluxe, Frecuencia establecida en Manual, se ejecuta solo bajo demanda.

Configurar el trabajo cron a nivel de servidor

Para activar la exportación a tu hora convertida, añade un trabajo cron a través del cPanel de tu hosting o directamente en tu servidor Linux.

Crea la expresión cron

Usando el ejemplo anterior (6:00 AM NZDT, convertido a 5:00 PM UTC el día anterior, los lunes, miércoles y viernes), la expresión cron es:

Minute : 0
Hour   : 17
Day    : *
Month  : *
Weekday: 0,2,4

La numeración de los días de la semana en cron empieza en 0 para el domingo. Dado que la hora UTC convertida cae en el día anterior, lunes/miércoles/viernes NZDT se traduce en domingo/martes/jueves UTC en este ejemplo. Calcula tu propio turno de día de la semana de la misma manera si tu conversión cruza la medianoche.

Crea el comando de activación

El trabajo cron necesita llamar a la misma URL de exportación CRON manual descrita en Cómo exportar mediante CRON manual:

curl "https://your-site.com/?action=woo_ce-cron&key=YOUR_SECRET_KEY&type=order&scheduled_export=100" > /dev/null 2>&1

Reemplaza:

  • tu-sitio.com con el dominio de tu propia tienda.
  • TU_CLAVE_SECRETA con la Clave Secreta de Exportación que configuraste en el paso 3 a continuación.
  • type con el tipo de exportación que configuraste (por ejemplo, order o product). Debe ser un tipo de exportación válido, o la exportación fallará con un error de 'tipo de exportación no válido'. Su valor es luego anulado por el tipo de exportación guardado en la propia exportación programada, por lo que la configuración de la exportación programada siempre prevalece.
  • 100 con tu ID de Exportación Programada. Puedes encontrarlo al pasar el ratón por encima del enlace Editar de esa programación en la pantalla de Exportaciones Programadas: la URL termina en /scheduled-exports/edit/<ID>, donde <ID> es el número que necesitas.

Para una lista completa de parámetros de URL compatibles, consulta Cómo exportar mediante CRON manual.

Activar acceso CRON

  1. Abre WooCommerce → Store Export → Settings y selecciona la pestaña CRON Exports.
  2. Activa el interruptor Enable CRON.
  3. Introduce un valor en el campo Export Secret Key. Dejarlo vacío permite acceso sin restricciones a la URL de disparo, por lo que se recomienda establecer una clave para cualquier tienda activa.
Configuración de Store Exporter Deluxe, pestaña Exportaciones CRON, Habilitar CRON activado y campo Clave secreta de exportación vacío.

Una vez que el interruptor esté activado y el trabajo cron se haya añadido a tu servidor, la exportación se ejecutará a tu hora convertida y aparecerá en Programaciones Recientes en la pantalla de Exportaciones Programadas.

Solución de problemas

Mi trabajo cron a nivel de servidor no está activando la exportación
Confirma que el trabajo cron está realmente instalado y ejecutándose en tu servidor, independientemente del plugin. La mayoría de los cPanel de hosting tienen una sección de Trabajos Cron donde puedes ver los trabajos existentes y la hora de su última ejecución. Si el trabajo en sí nunca se ejecuta, consulta con tu proveedor de hosting. Si el trabajo se ejecuta pero la exportación no se activa, visita la URL de activación directamente en un navegador para comprobar si hay algún mensaje de error, y confirma que el interruptor Habilitar CRON y la Clave Secreta de Exportación coinciden con lo que hay en la URL.
Mi exportación se ejecuta a la hora incorrecta
Vuelve a comprobar tu conversión UTC, incluyendo si el horario de verano se aplica en la fecha en que se ejecuta el trabajo. Confirma también que el valor Día de la semana en tu expresión cron tiene en cuenta cualquier cambio de día causado por la conversión, como se muestra en el ejemplo anterior.

Preguntas Frecuentes

¿Necesito esto si solo quiero que mi exportación se ejecute a una hora local determinada?
No. Utiliza el desplegable Zona horaria del propio plugin en el paso de Programación. Está diseñado exactamente para ese caso y gestiona el horario de verano por ti. El enfoque de este artículo es solo para exportaciones activadas por un trabajo cron real a nivel de servidor en lugar del programador del propio plugin.
¿Qué sucede si dejo la Frecuencia de la programación en algo que no sea Manual mientras también uso un trabajo cron a nivel de servidor?
El plugin también ejecuta la exportación en su propio horario interno, además de su trabajo cron a nivel de servidor, lo que produce archivos de exportación duplicados. Establezca la Frecuencia en Manual para que solo su trabajo cron la active.

¿Necesitas más ayuda?

Si está utilizando Store Exporter Deluxe y se encuentra con un problema que este artículo no cubre, abra un ticket de soporte y nuestro equipo le ayudará a que su exportación se ejecute en el momento adecuado.

Si estás usando el plugin gratuito Store Exporter, pregunta en el foro de soporte de WordPress.org y nuestro equipo te responderá allí.

¿Fue útil este artículo?

Artículos relacionados

Recursos y ayuda