Skip to main content

Crons y configuración

Tareas programadas

Los crons viven en src/common/scheduled-jobs/scheduled-jobs.service.ts. Todos usan la zona horaria Europe/Madrid.
HorarioTareaReferencia
00:00 diarioLimpia caché y refresca caché de casas y reservas.scheduled-jobs.service.ts:32
12:00 diarioRefresca caché de casas y reservas.scheduled-jobs.service.ts:102
23:30 diarioComprueba la caducidad de llaves (KeyExpiresCommand).scheduled-jobs.service.ts:72
Cada horaTransfiere reservas y casas (se omite con APP_MODE=debug).scheduled-jobs.service.ts:138
Cada 15 minTransfiere usuarios (se omite con APP_MODE=debug).scheduled-jobs.service.ts:177
31-dic 23:30Bono anual de fidelización (YearlyBonusCommand), solo si NEW_EXCHANGE_SYSTEM=true.scheduled-jobs.service.ts:211

Caducidad de llaves (23:30)

KeyExpiresCommand recorre todos los monederos: avisa cuando faltan los días configurados, aplica la prórroga automática de 12 meses en la primera caducidad y elimina las llaves en la segunda. El detalle está en Llaves e intercambio.

Bono anual (31-dic)

YearlyBonusCommand otorga +2 llaves a quienes tuvieron ≥ 2 intercambios válidos en el año. Está condicionado a la flag NEW_EXCHANGE_SYSTEM=true (scheduled-jobs.service.ts:219).

Tabla configurations

Parámetros de negocio en la tabla configurations (Postgres), con estructura key / value / description (src/common/database/v2/entities/configuration.entity.ts). Claves que el código lee:
ClaveUsoReferencia
keys_expiration_warning_daysDías de aviso previo a la caducidad de llaves (CSV).src/bookings/v2/commands/key-expires.command.ts:43
default_check_in_<HomeType>Hora de check-in por tipo de casa.src/bookings/v1/bookings.repository.ts:1163
default_check_out_<HomeType>Hora de check-out por tipo de casa.src/bookings/v1/bookings.repository.ts:1174
Los valores de estas claves son dato en base de datos: PENDIENTE confirmar cuáles rigen en producción. Además, el check-in/out convive con un hardcode 16:00 / 10:00 — ver la inconsistencia documentada.

Variables de entorno relevantes

Solo se listan los nombres; sus valores son secretos de despliegue y no se documentan aquí.
VariablePara qué sirve
NEW_EXCHANGE_SYSTEMActiva globalmente el nuevo motor de intercambio de llaves.
NEW_EXCHANGE_SYSTEM_ENABLED_USERSLista de usuarios habilitados para el nuevo motor (CSV de IDs).
DEFAULT_KEYSCoste en llaves por defecto [alta, media, baja] cuando no hay valor por casa.
RENTALS_URLBase de la URL de alquiler de Hostaway (se concatena con hostawayId).
APP_MODECon debug se omiten los crons de transferencia.
PORTPuerto del servicio (por defecto 3000).
VIVLA_USERUsuario técnico “Vivla” usado en intercambios de última hora.
Valores de DEFAULT_KEYS y del resto de variables: PENDIENTE confirmar. Son configuración de entorno; sus valores no están en el código.