Just today, I answered an interesting question about the intensity of sunrise in Australia vs Asia. When my accepted answer hit the 10 upvotes, I received ("instantly", or so it seemed) the "nice answer" badge. But since it was an accepted answer, I would have thought I hit the conditions for the "Enlightened" badge at the same time.

So why would I be awarded one badge, and not the other? What algorithm / mechanism would cause the delay?

I hope I am not coming across as whining - I'm sure it will show up eventually - but I was curious about the inner workings of the SE machine.

  • $\begingroup$ Update - the badge just appeared. Two hours delay, apparently. Still makes me wonder "why"? $\endgroup$ – Floris Aug 5 '14 at 10:03

Badges are awarded by a periodic script, since it's too much load to check for them on every action. Badges that require heavier queries to calculate are run less often (some of them have a period of one day). Also, badges with the same period may or may not run in sync (in the same phase).

So you get such delays. Don't worry about it unles s>24 hours have passed without you getting the badge.

  • $\begingroup$ That explanation makes sense - thanks. $\endgroup$ – Floris Aug 5 '14 at 13:01
  • $\begingroup$ Ya, never thought of that. Makes perfect sense though. I always just assumed that it either waited the 15 minutes for the votes to lock in or it updated the next day like tags. Nice to know how it really works. Information is good :) $\endgroup$ – Jim Aug 5 '14 at 13:12
  • 2
    $\begingroup$ @Jim The scripts don't wait for the 15-minute lock, I think; they just assume the votes will stay there. Badges are not taken away (for more info see this meta.se post), so if (1) a user upvotes you, (2) a script gives you a badge, and (3) the user retracts the vote, then you get to keep the badge. If it's a multi-time badge (like Good Answer, and as opposed to e.g. Critic), then the next time you're eligible you won't get a new one. $\endgroup$ – Emilio Pisanty Aug 5 '14 at 17:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .