Heroku Django APScheduler 在作业完成后不释放内存

问题描述

我有一个 django 站点,它正在运行一些繁重的计算内容,这些内容是由 Heroku 上托管的 APScheduler 安排的。一切都按预期工作,但是 Heroku 抛出错误错误 R14(超出内存配额)”工作。我的代码如下。我希望它在 800 到 1600 小时之间运行周一至周五。我正在使用 heroku 的 Postgresql 数据库。最终内存使用会变得如此之高,它会崩溃并重新启动。

sched = BlockingScheduler(
    executors={
        'threadpool': ThreadPoolExecutor(max_workers=1),'processpool': ProcesspoolExecutor(max_workers=1)
    }
)


@sched.scheduled_job('cron',minute='*/30',day_of_week='mon-fri',hour='8-18',max_instances=1,id="server",executor='threadpool')
def _server():
    print('Start server')
    server = Server()
    server.get_stocks()
    del server
    gc.collect()

sched.start()

我知道这是内存泄漏,因为在服务器启动之前使用了clock.py 内存。 link

这是在服务器完成其工作并休息之后。

enter image description here

如果有人能指出我正确的方向,我愿意尝试任何事情。提前谢谢你。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...