odoo 使用协程,异步,gevent,打补丁
Posted qianxunman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了odoo 使用协程,异步,gevent,打补丁相关的知识,希望对你有一定的参考价值。
打补丁得时候需要在方法中实现,如果直接在外部调用猴子补丁,在odoo服务启动时,就会出现锁异常,会出现死锁,
错误的示范:
from odoo import api, fields, models
from dateutil.relativedelta import relativedelta
from ..controllers.cls_get_trans_info import SpiderTrans
from odoo import exceptions
import gevent
import logging
from gevent import monkey
monkey.patch_all() # 这是一个错误的示例
class ClassName(models.Model):
_name = 'model.name'
...
正确的示范:
from odoo import api, fields, models
from dateutil.relativedelta import relativedelta
from ..controllers.cls_get_trans_info import SpiderTrans
from odoo import exceptions
import gevent
import logging
from gevent import monkey
monkey.patch_all() # 这是一个错误的示例
class ClassName(models.Model):
_name = 'model.name
field_name= fields.Char()
def func(self):
monkey.patch_all() #猴子补丁需要在该位置调用
以上是关于odoo 使用协程,异步,gevent,打补丁的主要内容,如果未能解决你的问题,请参考以下文章
基础入门_Python-模块和包.Gevent异步/状态获取/超时设置/猴子补丁?