【发布时间】:2011-12-23 12:29:58
【问题描述】:
我喜欢每周运行一次运行 php 脚本的 cron 作业。
该脚本需要从数据库中获取所有用户并运行另一个脚本,该脚本会向每个用户发送一封电子邮件,其中包含从外部 API 提取的数据的报告。
问题是,每个 cron 作业都有 100mb 的内存限制。如果我的数据库中有数千个用户,并且我需要从外部 API 检索大量数据,我很快就会超过内存限制。
有没有办法通过分解 php 脚本来解决这个问题?你的策略是什么?
【问题讨论】:
-
我假设你的 crond 不会仅仅为了好玩而强制这个内存限制,所以你不应该通过发出子进程来绕过它。您对机器有命令行访问权限吗?然后,您可以编写一个小脚本,只执行作业,睡一周,做作业,睡一周......这不应该浪费太多资源
-
我猜你的
php代码有问题:发送邮件不能消耗100MB