【问题标题】:How to code a search subscription system?如何编写搜索订阅系统?
【发布时间】:2011-11-11 17:02:06
【问题描述】:

我有一个市场网站,其中包含学生宿舍列表。我希望我的用户进行特定的搜索查询,然后能够“订阅”它,这意味着如果列出了与该特定查询匹配的新房子,那么他们将收到一封电子邮件。

做这样的事情最好的方法是什么?到目前为止,我知道两种选择:

  • 在发布列表时检查匹配的订阅 - 如果有数千个匹配的订阅并且发送了数千封电子邮件,这不会显着增加发布列表的用户的处理时间吗?

  • 使用 CRON 作业检查所有订阅与匹配的列表 - 我猜这有点棘手

你会建议什么方式?我将不胜感激一些指导/意见。

【问题讨论】:

  • 您可以在不影响用户发帖的情况下检查房源的发布时间,只要您在后台异步进行检查。

标签: php mysql cron


【解决方案1】:

我参与过与您所讨论的项目类似的项目。我发现最好使用 CRON 方法,原因如下:

您不想每天用垃圾邮件轰炸用户几次(发布新列表时),而是希望每天一次甚至每周一次,以减少用户退订。

您可以安排 CRON 在系统负载不重的“下班时间”运行脚本,因为您需要逐步检查所有注册您服务的用户,然后检查是否有添加了符合其搜索条件的新库存。

当然,这一切都假设您已准备好代码/架构来促进 CRON 解决方案。

【讨论】:

    【解决方案2】:

    我会做一些自动任务(例如一个 cronjob),每个 [day|week|month] 为每个用户检查哪些新列表符合他们的偏好。您不想每次发布新列表时都这样做,因为这是一些缺点

    1. 您需要找到对特定列表感兴趣的用户,这是一项比其他方式复杂得多的任务
    2. 作为用户,白天可能会收到大量电子邮件。我想你宁愿有一个[每日|每周|每月|每小时]摘要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 2019-03-01
      • 2020-11-25
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2021-05-28
      相关资源
      最近更新 更多