博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenERP v6.1新特性解读 (三) 技术
阅读量:6074 次
发布时间:2019-06-20

本文共 1449 字,大约阅读时间需要 4 分钟。

hot3.png

内核优化

原来的osv_memory(现在名为TransientModel)做了很大改进,现在已经是一个特殊的普通osv(现在名为Model),这意味着它确实存在数据库里面,但是它会在使用过后自动删除(例如某个统计计算完毕或者某些记录已经创建了)。这个改进有以下好处:

  • 底层代码只有一个,更容易维护。
  • 具有相同的模型,这意味着约束(例如外键)都是可执行的
  • 更好的性能,数据库几乎完全是无状态(仍然有一些缓存)

支持WSGI,可以在一个兼容WSGI的服务器上运行OpenERP server,再加上OpenERP几乎无态的特性。这意味着你可以在WSGI服务器上运行多个服务器进程:你终于可以用尽你的多核CPU!例如用 Gunicorn ,一切的维护都变得简单了,Gunicorn 将监控者进程。例如杀死一个已经挂起的进程,防止内存泄露影响系统。

还有几件缩短创建帐套时间的改进:能高效率使用框架加载翻译并写入。另一个改进就是(转存和恢复)的帐套时候的缓存。这些都在OpenERP online上实际使用过。

在销售订单上做过性能测试:

  • 安装一个新的英文帐套
  • 安装一个新的带有语言包的帐套
  • 再创建另外一个新帐套
  • 从web客户端读取一个合作伙伴
  • 一次读1000个订单
  • 读100x10个销售订单

计划任务的多线程处理

现在每一个计划任务在后台都是生成一个线程,这样就不会因为一个计划任务在执行,就阻碍了另外一个计划任务的执行。实现了在负载均衡的情况下多个服务器执行多个进程,每个任务每次只会执行一次

Unaccent

消除法语那些上面的声调,启动server的时候使用 --unaccent(对于国内用户可能不怎么需要这个 :D)

给开发人员

6.1的对象自动实例化了,不再需要显式调用

6.0.x

class res_groups(osv.osv):_name = 'res.groups'_columns = {'name': fields.char('Name'),}res_groups()class res_users(osv.osv):_name = 'res.users'_columns = {'name': fields.char('Name'),'group_ids': fields.many2many('Groups', 'res.groups'),}res_users()class res_groups2(osv.osv):_inherit= 'res.groups'_columns = {'user_ids': fields.many2many('Users', 'res.users'),}res_groups2()

6.1

class res_groups(osv.osv):_name = 'res.groups'_columns = {'name': fields.char('Name'),'user_ids': fields.many2many('Users', 'res.users'),}class res_users(osv.osv):_name = 'res.users'_columns = {'name': fields.char('Name'),'group_ids': fields.many2many('Groups', 'res.groups'),}

转载于:https://my.oschina.net/openerp/blog/60433

你可能感兴趣的文章
Android面试题集
查看>>
编译原理——中间代码生成
查看>>
『Collections』namedtuple_具名元组
查看>>
查看Redis信息和状态
查看>>
EntityFramework Core 1.1+ Backing Fields(返回字段)
查看>>
初学者如何理解网络协议?
查看>>
鹅厂优文 | 决策树及ID3算法学习
查看>>
JVM的垃圾回收机制 总结(垃圾收集、回收算法、垃圾回收器)
查看>>
[LeetCode] Number of Atoms 原子的个数
查看>>
home.php
查看>>
AndroidStudio第一次提交项目代码到git服务器/github
查看>>
第一个驱动之字符设备驱动(三)按键查询
查看>>
【hibernate】hibernate和mybatis的比较
查看>>
一文看懂迁移学习:怎样用预训练模型搞定深度学习? ——重用神经网络的结构...
查看>>
SSM的例子-参考
查看>>
解决 ln -s 软链接产生的Too many levels of symbolic links错误
查看>>
quartz集群分布式(并发)部署解决方案
查看>>
vue install 注册组件
查看>>
Java进阶面试题大集合-offer不再是问题
查看>>
neo4j---删除关系和节点
查看>>