Preservar la configuración regional en procesos en segundo plano
Cron, colas, CLI y trabajadores asíncronos no disponen de una URL de visitante fiable de la que inferir un idioma. Guarda la configuración regional requerida junto con los datos del trabajo y valídala cuando se ejecute el trabajo.
Envuelve el trabajo sensible a la configuración regional con pom_translate_with_locale():
pom_translate_with_locale(
$job['locale'],
static function () use ( $job ): void {
generate_document( $job['post_id'] );
}
);
Esto cambia temporalmente el contexto de POM Translate y la configuración regional de WordPress, y luego restaura ambas. No dejes una configuración regional establecida globalmente entre varios trabajos en el mismo proceso.
Guarda identificadores canónicos, como los ID de entrada y los códigos de configuración regional, no títulos o URLs ya traducidos que puedan quedar obsoletos. Resuelve los valores traducidos dentro del contexto temporal en el momento de la ejecución.
Las devoluciones de llamada en segundo plano deben seguir siendo idempotentes, independientes de las capacidades cuando corresponda y seguras de reintentar. No deben deducir el idioma del cliente a partir de cookies, cabeceras del navegador ni del administrador que programó el evento.
Prueba dos elementos en cola con configuraciones regionales diferentes en la misma ejecución del trabajador. Confirma que el segundo elemento no hereda cadenas, formatos de fecha, URLs o cachés del primero.