Un usuario notó que el comportamiento de la insignia de aniversario es extraño. Otorga la insignia de aniversario un día después de que se otorgó la última insignia de aniversario. No estoy seguro si esto es intencional.
4 Me gusta
Es un error, pero creo que este es uno de esos que son bienvenidos por PR (solicitud de extracción), nuestro diseño es:
- Una vez al día salimos a buscar nuevas personas a las que otorgarles insignias de aniversario.
- 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:
- Buscar candidatos.
- Establecer la
created_at:en el desplazamiento correcto en lugar de usarend_date.
No es una solución imposible, pero es delicada.
2 Me gusta
He abierto una PR (¡mi primera!) para esto aquí: FIX: Ensure subsequent Anniversary badges are granted on a user's anniversary date by magni- · Pull Request #28979 · discourse/discourse · GitHub
2 Me gusta
