我正在使用odoo 9,我需要在10分钟后终止用户会话,我在odoo目录的根目录http.py中找到了session_gc()方法。我想知道如何在自定义模块中过度使用此方法吗?
import openerp
import werkzeug.contrib.sessions
import random
import time
import os
import logging
_logger = logging.getLogger(__name__)
class OpenERPSession2(openerp.http.OpenERPSession):
def session_gc(session_store):
_logger.info('-----session ### ### Management')
#if random.random() < 0.001:
# we keep session one week
#last_week = time.time() - 60 * 60 * 24 * 7
last_week = time.time() - 60 * 1
for fname in os.listdir(session_store.path):
path = os.path.join(session_store.path, fname)
try:
if os.path.getmtime(path) < last_week:
os.unlink(path)
except OSError:
pass
我以这种方式过度骑行,但未获得理想的结果,但是当我将这些行放入base的http.py文件中时,它工作正常。我不知道为什么它不能在自定义模块中工作
答案 0 :(得分:0)
您忘记了必要的装饰器route()
。
要覆盖控制器,请从其类继承并覆盖相关方法,并在必要时重新公开它们:
class Extension(MyController):
@route()
def handler(self):
do_before()
return super(Extension, self).handler()
您可以在Controllers
阅读更多内容