2010-10-23 39 views
1

我想在我的一个站点上实现徽章/信誉系统。当用户执行某个动作时,会引发一个事件(例如:QUESTION_PUBLISHED),以便系统可以检查是否可以向用户颁发新徽章。使用异步php调用的徽章系统

某些徽章的逻辑非常复杂,需要较慢的sql查询。我正在考虑使用异步调用,而不是使用cron作业。所以基本上我想有:

  1. 用户执行一个动作:
  2. 事件引发的(事后评论)(例如:COMMENT_POSTED)
  3. 徽章检查异步完成(CheckJournalistBadge())

#3在PHP中是否可行?

回答

1

我不认为异步调用是可能的在PHP中,但你可以排序模拟。也许把请求放在数据库中,并有一个cron作业,只检查这些请求并将它们标记为已选中,甚至删除在向用户表中添加结果(例如,如果颁发徽章)时检查的行(以较高者为准)在你的情况)。