Python内存回收就这么简单

之前做一个了Web项目,使用 Flask框架。

其中有一个生成PDF文件的模块,每天02:00开始生成几百个文件。


@app.route('/api/task', methods=['POST'])
def task():
    task_controller = TemperatureReportController()
    auth_code = request.args.get('auth_code', '')
    if task_controller.auth_code(auth_code):
        result = task_controller.do_task()
        return result
    else: return '-1'

上线后发现每天02:00内存占用就开始飙升,于是在网上找各种解决方案,然并卵。


内存使用情况如下图:

最终增加一条代码完美解决,代码:

@app.route('/api/task', methods=['POST'])
def task():     
    task_controller = TemperatureReportController()     
    auth_code = request.args.get('auth_code', '')     
    if task_controller.auth_code(auth_code):         
        result = task_controller.do_task()        
        del task_controller  # 增加这一条代码
        return result   
    else:
        return '-1'

你可能感兴趣的:(Python内存回收就这么简单)