运行Heroku oneoff dyno作为`:分离`会导致消耗更多内存吗?

2024-09-30 02:35:48 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在分离的一次性dyno中运行管理命令时,它几乎立即超过了内存配额。当我不分离地运行时,它工作得很好。我想知道这是怎么回事。任何指向这种现象的文献的答案都是惊人的。你知道吗

这是一个Python管理命令(addfeederpolygons),我估计它使用几百兆的内存,因为它与geodjango进行了一些密集的空间连接。你知道吗

底层代码在分离的一次性dyno和非分离的一次性dyno中是否有不同的执行方式?你知道吗

我希望结果是一样的,不管dyno是否分离运行。但实际输出如下:

未分离运行时

$ heroku run -a kevala-api-stage python manage.py addfeederpolygons --geography 25 --overwrite
 ›   Warning: heroku update available from 7.0.33 to 7.19.3
Running python manage.py addfeederpolygons --geography 25 --overwrite on ⬢ kevala-api-stage... up, run.8817 (Standard-1X)
initialized redis cache
Imported all multipolygon data for 328922
Imported all multipolygon data for 329602
...etc...

这不会崩溃,而且运行速度比其他场景快得多。。。你知道吗

分离运行时

$ heroku run:detached -a kevala-api-stage python manage.py addfeederpolygons --geography 25 --overwrite
$ heroku logs --app kevala-api-stage --dyno run.5051 -n 1500
 ›   Warning: heroku update available from 7.0.33 to 7.19.3
2019-01-30T19:23:10.894495+00:00 heroku[run.5051]: State changed from starting to up
2019-01-30T19:23:19.578170+00:00 app[run.5051]: initialized redis cache
2019-01-30T19:23:56.311511+00:00 heroku[run.5051]: Process running mem=553M(108.1%)
2019-01-30T19:23:56.311732+00:00 heroku[run.5051]: Error R14 (Memory quota exceeded)
2019-01-30T19:24:00.700959+00:00 app[run.5051]: Imported all multipolygon data for 328922
2019-01-30T19:24:03.325782+00:00 app[run.5051]: Imported all multipolygon data for 329602
...etc...
eventually fails with R15

Tags: pyapiappfordataherokumanageall
1条回答
网友
1楼 · 发布于 2024-09-30 02:35:48

所以,我暂时失去了评论的能力,所以我不得不写一个答案。好消息是,我认为您要做的是设置一个Log Drain来补偿您正在经历的内存泄漏和/或瓶颈。你知道吗

如果你不介意的话,我也可以看看有问题的日志(粘贴箱?)。我想看看到底发生了什么,那可能会有帮助。你知道吗

相关问题 更多 >

    热门问题