I'd like to implement a badge/reputation system on one of my site. When a user performs an action an event will be raised (ex: QUESTION_PUBLISHED) so that the system can check if a new badge can be awarded to the user.
The logic for some of the badges is quite complex and would require slow sql queries. Instead of using cron jobs I was thinking of using asynchronous calls. So basically I would have:
- User performs an action (ex: post a comment)
- Event is raised (ex: COMMENT_POSTED)
- Badge checks are done asynchronously (CheckJournalistBadge())
Is #3 feasible in PHP?