【发布时间】:2012-03-30 01:30:47
【问题描述】:
在网页上有一个谷歌地图,用户可以在其中将位置更改为他感兴趣的位置,并通过按下按钮注册新工作警报。保存的感兴趣的位置将由谷歌地图的边界定义。每当在该范围内出现新工作时,将根据用户选择的频率(每小时或每天)向该用户发送电子邮件提醒。
问题:我对如何处理所有用户的所有警报感到困惑。
目前,我正在考虑为一个表使用一个 cron 作业,其中所有 lat1, lng1, lat2, lng2, user_id 用于每小时运行一次的每小时警报,并为另一个表使用另一个 cron 作业,用于每天运行一次的每日警报,例如晚上 9 点。 cron 作业将遍历所有单个用户的定义 google 地图边界的 lat、lng 对,并在 jobs 主数据库中查询发布时间戳在 1 小时(或 1 天)内的任何作业。如果有,将发送电子邮件提醒。
这对服务器来说似乎需要做很多工作,尤其是当数据库中有 5000 个用户的位置偏好和 1,000,000 个工作时。 (完成 cronjob 需要 30 分钟?)我被困在这里,想听听你的意见。
【问题讨论】:
-
警报是如何添加到系统中的?我想这是找到处理数据的最佳方式的关键
-
与此类似 (crimemapping.com/subscriptions/Subscribe.aspx)。用户四处移动地图以找到他喜欢的地点并按下按钮。然后将谷歌地图边界坐标保存到表格中,以便每小时或每天发出警报。
标签: php mysql codeigniter google-maps cron