【发布时间】:2011-04-11 03:29:56
【问题描述】:
在我的网络应用程序中,用户有 5 分钟的时间来完成某项工作,5 分钟后,该工作应传递给其他人。因此,每个作业都会有 user_id,并且该 user_id 值必须每 5 分钟更改一次。问题是有多个作业,我们希望使用 15 秒的间隔让脚本定期运行以处理此更改。并且工作最多会传递给其他人4~5次,之后将被忽略。
工作和用户数据存储在 MySQL 数据库中。
我最初的想法是使用 cron-job 和 PHP 脚本文件,让 cron-job 每 15 秒运行一次 PHP 脚本。 PHP 文件将读取作业表,选择所有具有超过 5 分钟时间值的作业,并将它们获取给其他用户(无论一个用户是否获得所有作业)。我只想定期运行它而不占用太多资源。但这是个好主意吗?一旦工作数量增加,这不会占用太多资源吗?
虽然它不必保持一致(13~16 秒的间隔就可以了),但我们希望脚本不会停止。
【问题讨论】:
-
能否在页面请求时动态确定合适的用户id,而不是每5分钟静态更新一个用户id字段?
-
你必须找到 cron 以外的东西 - cron 每分钟只能做一次(它不会做几秒钟)。我认为 cron 手册建议在这种情况下在适当的时间使用
wait的常规程序/脚本。 -
怎么样...设置网页每隔几分钟刷新一次?或者页面上可能有一个 iframe,并且每隔一分钟左右就会运行一些 ajax 以获取新列表。或者,让 cron 运行 updaescript,它会更新,然后休眠 15 秒,使用 curl 请求调用自身,再等待 15 秒,再次调用自身(curl),然后死亡。或者,如果不是将用户 ID 保存在字段中...如果分配的用户是从记录的年龄派生的...在前五分钟,它属于用户 234。在第 6-10 分钟属于用户 876...