laravel - Laravel 循环遇到内存问题
问题描述
我有一个自定义工匠命令,它具有:
public function handle()
{
while(true)
{
$controller = new MyController;
$controller->myFunction();
}
}
我知道这很老套,但是在尝试了一些事情并在这里找到了一些答案之后,这似乎是实现我目标的最佳方式。我不能使用 cronjobs 或调度,因为它myFunction
可以运行 1s 到 15s,我希望它连续运行。
上面的问题是我遇到了内存问题。我已经设置了memory_limit=1024M
,但这并不能解决问题。
myFunction
相当大,它是一个我不想在这里发布的交易机器人,但我想知道是否有任何“清理”的方法(据我所知,这是关于...... ;-)) . 我不需要/不希望在内存中积累东西,每次循环后都可以清除所有内容。
实例化一个新的控制器会阻塞内存吗?循环中还有其他可能阻塞内存的东西吗?Laravel 有没有办法清除“一切”?
更新
我已经添加到循环中,并且通过在每个循环中$controller = NULL;
存储值来记录内存使用情况。(memory_get_usage(true) / 1024 / 1024) . ' MB';
我可以看到每个循环使用的内存都在增加。
解决方案
推荐阅读
- c++ - 类对象集
- ionic-framework - 如何解决 Ionic 中的 CORS 问题
- javascript - 如何修复此生成错误“TypeError:无法读取属性”的 Mysql 查询
- vue.js - VueJS 计算属性不更新
- asp.net-mvc - Bootstrap Modal 不显示页脚
- python - Python对象序列化:pickle vs hickle有问题
- python - 在 Mongoengine 的不同集合中子类化文档
- python - Python 你可以在函数之外忽略 time.sleep 而不是在函数内部吗?
- java - 添加新项目时tableview不会自动更新
- xpath - xpath 在 IMPORTXML 公式中获取 2 个标签之间的文本