如何每15秒检查和更改mysql中的数据?

发布于 2024-10-18 21:20:23 字数 420 浏览 1 评论 0原文

在我的网络应用程序中,用户有 5 分钟的时间来做一些工作,5 分钟后,该工作应该传递给其他人。因此,每个作业都有 user_id,并且该 user_id 值必须每 5 分钟更改一次。问题是有多个作业,我们希望使用 15 秒的间隔定期运行脚本来处理此更改。并且工作最多会转给其他人4~5次,之后就会被忽略。

工作&用户数据存储在MySQL数据库中。

我最初的想法是将 cron-job 与 PHP 脚本文件一起使用,让 cron-job 每 15 秒运行一次 PHP 脚本。 PHP文件将读取作业表,选择时间值超过5分钟的所有作业,并将它们获取给其他用户(无论一个用户是否获得所有作业都没有关系)。我只是想定期运行它而不占用太多资源..但这是一个好主意吗?一旦就业机会增加,会不会占用太多资源?

虽然它不必是一致的(13~16 秒的间隔就可以了),但我们希望脚本不会停止。

In my web app, user is given 5 min to do some job, and after that 5 min, the job should be passed to other person. So, each job would have user_id and that user_id value has to be changed every 5 min. The thing is that there are multiple jobs, and we want to use 15sec interval for script to be periodically run to take care of this change. And job will passed to other person maximum of 4~5 times, and it will be disregarded after that.

The job & user data is stored in MySQL database.

My initial thought was to use cron-job with PHP script file that let the cron-job runs PHP script every 15 sec. PHP file will read the job table, select all the jobs which have time value past 5 min ago, and fetch them to other users (doesn't matter if one user get the all jobs or not). I just want to periodically run it without taking too much resources.. but is it a good idea? Wouldn't that take too much resources once the number of jobs increases?

While it does not have to be consistence (13~16 sec interval is just fine) we want that script does not stop.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦初启 2024-10-25 21:20:23

创建一个读取表状态更新时间的 cronjob。

-- 显示表状态,如table

例如: update_time: 2011-04-10 15:27:32

比你可以在 cronjob 中执行逻辑来检查该日期。如果该日期早于 15 秒或其他时间,则您有更新的记录。

Create a cronjob that reads the table status updated time.

-- show table status like table;

example: update_time: 2011-04-10 15:27:32

than you can do the logic in the cronjob to check that date. and if that date is greater than 15 seconds ago or whatever, than you have an updated records.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文