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() #猴子补丁需要在该位置调用
        
本文来自博客园,作者:那时一个人,转载请注明原文链接:https://www.cnblogs.com/qianxunman/p/12178911.html
 
                    
                
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号