Algunas insignias de aniversario se otorgan un día y un año después de la última insignia de aniversario

Es un error, pero creo que este es uno de esos que son bienvenidos por PR (solicitud de extracción), nuestro diseño es:

  1. Una vez al día salimos a buscar nuevas personas a las que otorgarles insignias de aniversario.
  2. Solo consideramos a las personas que no recibieron una insignia de aniversario en el año anterior.

El problema es… que esto solo se ejecuta una vez al día a una hora arbitraria, lo que significa que el trabajo siempre se ejecuta tarde, a veces con 1 hora de retraso, a veces con 23 horas de retraso.

Dado que solo otorgamos insignias una vez al día, necesitaríamos cambiar nuestra lógica para:

  1. Buscar candidatos.
  2. Establecer la created_at: en el desplazamiento correcto en lugar de usar end_date.

No es una solución imposible, pero es delicada.

2 Me gusta