php - 在处理超过 190,000 个每月任务时,Cron 作业是否实用?

标签 php mysql linux cron

我必须为我的老板设置一个循环发票系统,我们的系统是在 centos linux 服务器上用 php 构建的。我们每个月有大约 50,000 个客户开具发票,我的工作是建立一种方法来每周为所有 50,000 个客户处理发票脚本,因此该脚本将创建一个新发票并在我们的 mysql 中的发票表中执行插入查询数据库。

我担心的是,如果每周运行 50,000 个单独的 cron 作业会导致我们的服务器负载过重,那么 crontab 在导致性能问题之前能够处理什么样的限制?

同样重要的是要注意,crontab 文件需要经常通过 php 脚本进行编辑,以编辑和/或删除单个发票/cronjobs。

基本上这是最好的路线吗?

最佳答案

您应该有一个运行一次的 Cron 作业,并循环遍历 50,000 个客户。

我通常做的是从数据库中选择一个,处理它,将其标记为完成,然后继续下一个。我让我的循环在运行超过 170 秒后退出,并将 Cron 作业设置为整个月每 3 分钟运行一次 - 它会尽可能地完成它们。

关于php - 在处理超过 190,000 个每月任务时,Cron 作业是否实用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692837/

相关文章:

C++ Boost ASIO 简单的周期性定时器?

php - MySQL 可以处理 1 亿多行吗?

php - 我数据库中的 "UTF8"数据真的编码正确吗?

php - 如何根据用户输入创建链接

mysql - 如何在 MySQL 列中搜索 [?

linux - Bash - 找到每行的最小数量

php - 检测编码并使一切变为 UTF-8

php - mysql 将表中的 abc 替换为 xyz

javascript - 运行 Node server.js 并重新播种数据库时,表被删除。 Sequelize

linux - LXC 非特权容器内的 Docker