È un bug, ma penso che questo sia uno di quelli per cui un PR è benvenuto, il nostro design è:
- Una volta al giorno andiamo a caccia di nuove persone a cui assegnare badge di anniversario.
- Consideriamo solo le persone che non hanno ricevuto un badge di anniversario nell’anno precedente.
Il problema è… questo viene eseguito solo una volta al giorno in un momento arbitrario, il che significa che il processo viene sempre eseguito in ritardo, a volte con 1 ora di ritardo, a volte con 23 ore di ritardo.
Dato che assegniamo i badge solo una volta al giorno, dovremmo cambiare la nostra logica per:
- Pescare i candidati
- Impostare
created_at:all’offset corretto invece di usareend_date
Non è una correzione impossibile, ma è complicata.