我在笔记本电脑上运行带有Python 2.7的Odoo 8(i5,8Gb RAM,SSD,Win 10) 每次我需要关闭服务器以更新我的代码(使用ctrl + C两次),如果在关闭之前花费将近2分钟。
有没有办法让关机更快?
由于
(关闭时在日志文件下方)
2017-01-17 09:58:54,161 7256 INFO? openerp.service.server:启动关闭
2017-01-17 09:58:54,167 7256 INFO? openerp.service.server:再次按CTRL-C或发送第二个信号以强制关闭。
追踪(最近一次通话): 文件" odoo.py",第160行,in main()的
文件" odoo.py",第157行,在main中 openerp.cli.main()
文件" C:\ odoo-8.0 \ openerp \ cli__init __。py",第68行,主要 o.run(参数)
文件" C:\ odoo-8.0 \ openerp \ cli \ server.py",第180行,运行中 主(参数)
文件" C:\ odoo-8.0 \ openerp \ cli \ server.py",第174行,主要 rc = openerp.service.server.start(preload = preload,stop = stop)
文件" C:\ odoo-8.0 \ openerp \ service \ server.py",第970行,开始 rc = server.run(preload,stop)
文件" C:\ odoo-8.0 \ openerp \ service \ server.py",第374行,运行中 self.stop的()
文件" C:\ odoo-8.0 \ openerp \ service \ server.py",第330行,停止 self.httpd.shutdown()
文件" C:\ Python27 \ lib \ SocketServer.py",第246行,关机 自.__ is_shut_down.wait()
文件" C:\ Python27 \ lib \ threading.py",第614行,等待 自.__ cond.wait(超时)
文件" C:\ Python27 \ lib \ threading.py",第340行,等待 waiter.acquire()
一个KeyboardInterrupt
答案 0 :(得分:0)
服务器等待关闭是为了确保所有记录都被保存等,作为干净关闭的一部分。您可以考虑采取两种策略来缓解疼痛:
对软件进行重组,以便在服务器软件发生变化时只需关闭服务器 - 即从一个服务器运行服务器,经过小规模测试,处理并从其余代码连接到该进程 - 如果服务器接口不需要更新,因此经过充分测试,则无需关闭该部分代码,因此您只需断开连接而不是关闭。
编写一个经过良好测试的小型加载和执行顶级程序,并提供一种机制来告诉它重新加载已更改的代码,也称为动态插件架构。这种情况要复杂得多,因为运行的代码可能会留下人工制品等。
答案 1 :(得分:0)
Odoo 会发生这种情况,在某些情况下关闭服务器可能需要几秒钟到 2 -3 分钟。
很烦人,尤其是当你需要做一些小的改变时。
只需打开 2 个(或更多,但不需要)终端窗口。
因此,当您杀死第一个窗口时,需要时间关闭,您可以使用另一个终端来运行服务器的新实例。
这样做可以避免任何等待,无需重新编写/重新构建或进行任何操作。