使用异步php调用的徽章系统

时间:2010-10-23 16:24:22

标签: php events asynchronous

我想在我的某个网站上实施徽章/信誉系统。当用户执行操作时,将引发事件(例如:QUESTION_PUBLISHED),以便系统可以检查是否可以向用户授予新徽章。

某些徽章的逻辑非常复杂,需要慢速的SQL查询。我没有使用cron作业,而是考虑使用异步调用。所以基本上我会:

  1. 用户执行操作(例如:发表评论)
  2. 引发事件(例如:COMMENT_POSTED)
  3. 徽章检查是异步完成的(CheckJournalistBadge())
  4. PHP中#3是否可行?

1 个答案:

答案 0 :(得分:1)

我不认为在PHP中可以进行异步调用,但你可以进行模拟。也许将请求放在数据库中,并且只有一个cron作业只检查这些请求并将它们标记为已检查,甚至删除检查的行,同时将结果(例如,如果已颁发徽章)添加到用户表中(无论哪个是在你的情况下)。