【问题标题】:PHP Cron job consuming memoryPHP Cron作业消耗内存
【发布时间】:2019-03-19 23:24:39
【问题描述】:

我在 Codeigniter 中从 PHP 控制器调用一个 MYSQL 函数。当我通过浏览器通过提及 URL 执行控制器功能时,一切正常,内存消耗并不显着。

但是当我在 cronjob 中使用相同的链接时,它会消耗大量内存。当每 4 分钟执行一次 cron 时,它实际上会在 2-3 小时内消耗 99% 的 4GB 服务器内存。

您能否为此提供解决方案。

【问题讨论】:

  • 每次使用后是否关闭连接?
  • 检查 cron 作业是否真正完成,或者它们是否仍在后台运行。
  • 问题代码总是在 4 分钟内运行吗?以及您使用什么“程序”来执行 cronjob 中的 php url,换句话说,向我们展示 cronjob 行/规则
  • @JayBlanchard 您能否建议每次运行后如何关闭连接。我每 4 分钟运行一次 cron。实际上,底层数据库过程只需要 20-30 秒即可完成。很高兴在每次处理后停止该过程并在 4 分钟后开始。
  • @MagnusEriksson 能否请您告知如何检查 cron 作业是否实际完成。我确信它不会在 4 分钟之内,并且新进程会在前一个进程仍在运行时启动。

标签: php mysql codeigniter cron


【解决方案1】:

我觉得问题不在于 MySQL 查询,而在于执行一个完整周期的总查询。您已将时间设置为每 4 分钟一次,所以我认为 4 分钟后之前的进程存在并且新进程正在启动,最终有这么多进程正在运行它正在消耗服务器内存。请增加时间间隔和测试。

【讨论】:

  • 我现在将频率更改为 1 小时。会及时通知您。
  • 之后有什么变化吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-25
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多