def serialize_exception(interface_name):
"""
mq接口装饰器
主要作用:日志记录、报错统一处理
:param method:
:return:
"""
def decorator(func):
@wraps(func,interface_name)
def wrapper(self, *args, **kwargs):
result = False
msg = interface_name + u'##开始##:' + str(fields.Datetime.now())
_logger.info(msg)
mq_log = self.env['spd.ibm.mq.interface.logs'].create({
'queue_name': interface_name,
'time': fields.Datetime.now(),
'message':msg
})
try:
con = self._context.copy()
con['lang'] = 'zh_CN'
self = self.with_context(con)
result = func(self, mq_log, *args, **kwargs)
msg = interface_name + u'##正常结束##:' + str(fields.Datetime.now())
_logger.info(msg)
mq_log.write({'message':msg})
except:
self.error_fun(mq_log)
msg = interface_name + u'##错误结束##:' + str(fields.Datetime.now())
_logger.info(msg)
mq_log.write({'message': msg})
finally:
self.close()
return result
return wrapper
return decorator
@serialize_exception('HDSPD_regDrugsInfoMdm’)
@api.model
def sync(self, log=None):
pass
评论区