Neutron的Web Server启动过程中的关键参数
self.pool = eventlet.GreenPool(1)
self._server = self._service.pool.spawn(self._service._run,self._application,dup_sock)
def _run(self, application, socket):"""Start a WSGI server in a new green thread."""eventlet.wsgi.server(socket, application,max_size=self.num_threads,log=LOG,keepalive=CONF.wsgi_keep_alive,log_format=CONF.wsgi_log_format,socket_timeout=self.client_socket_timeout)
def _get_socket(self, host, port, backlog):bind_addr = (host, port)# TODO(dims): eventlet's green dns/socket module does not actually# support IPv6 in getaddrinfo(). We need to get around this in the# future or monitor upstream for a fixtry:info = socket.getaddrinfo(bind_addr[0],bind_addr[1],socket.AF_UNSPEC,socket.SOCK_STREAM)[0]family = info[0]bind_addr = info[-1]except Exception:LOG.exception(_LE("Unable to listen on %(host)s:%(port)s"),{'host': host, 'port': port})sys.exit(1)sock = Noneretry_until = time.time() + CONF.retry_until_windowwhile not sock and time.time() < retry_until:try:sock = eventlet.listen(bind_addr,backlog=backlog,family=family)except socket.error as err:with excutils.save_and_reraise_exception() as ctxt:if err.errno == errno.EADDRINUSE:ctxt.reraise = Falseeventlet.sleep(0.1)if not sock:raise RuntimeError(_("Could not bind to %(host)s:%(port)s ""after trying for %(time)d seconds") %{'host': host,'port': port,'time': CONF.retry_until_window})sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)# sockets can hang around forever without keepalivesock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)# This option isn't available in the OS X version of eventletif hasattr(socket, 'TCP_KEEPIDLE'):sock.setsockopt(socket.IPPROTO_TCP,socket.TCP_KEEPIDLE,CONF.tcp_keepidle)return sock
def _run_wsgi(app_name):app = config.load_paste_app(app_name)
Neutron的Web Server启动过程中的关键参数相关推荐
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder ...
- 嵌入式Linux启动过程中的问题积累
嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...
- 用Dockerfile构建MySQL镜像并实现容器启动过程中MySQL数据库系统的初始化
前一段时间就在研究用Dockerfile构建MySQL镜像并实现容器启动过程中MySQL数据库系统的初始化,但被一些无关紧要的事儿给耽误了,经过查阅<dockerfile最佳实践>及MyS ...
- RabbitMQ系列之【启动过程中遇到问题及解决方案】
RabbitMQ系列之[启动过程中遇到问题及解决方案] 参考文章: (1)RabbitMQ系列之[启动过程中遇到问题及解决方案] (2)https://www.cnblogs.com/feixiabl ...
- Tomcat启动过程中找不到JAVA_HOME解决方法
在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomcat在启动过程中找不到. 报错信息如下:Neither the JAVA_HOME nor the JRE_HOME en ...
- spring中容器启动过程中初始化资源使用方法
一.定义 在业务场景中,有时需要我们在容器启动过程中加载资源,完成数据的初始化或者配置,需要在调用前加载进spring容器过程中去,有以下一些方法来实现 1.定义静态常量,随着类的生命周期加载而提前加 ...
- linux启动过程中内核拷贝,轻松识破linux内核启动过程中的“”套路“”
内核启动流程相关的内容让很多热爱linux的小伙伴既爱又恨,因为这是了解linux系统基本构造的良好过程同时由于其本身复杂且底层,脑子中的脉络不是很清晰,本文就总结了一些优秀博文,以自己的理解来解构一 ...
- JAVA项目中找不到tomcat_Tomcat启动过程中找不到JAVA_HOME解决方法
在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomcat在启动过程中找不到. 报错信息如下:Neither the JAVA_HOME nor the JRE_HOME en ...
- linux运维故障报告,iis7报为应用程序池“xx”提供服务的进程在启动过程中尝试读取配置时报告故障(503错误)处理方法...
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢? 最近处理问题,遇到一个棘手的问题,其实也不算棘手,只是自己没认真看日志而已,现在整理下以防止下次忘记.做个深刻教训 现象:客户iis7 中所有 ...
最新文章
- OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC
- 数组list操作,切片
- 加密算法概念简介--MD5、SHA、DES、3DES、AES、RSA、ECC
- 某大学强制全员申报国自然,不提交就扣奖金!
- 程序代码移植和烧录需要注意什么_网站定制化开发需要注意什么?
- 输入课程信息的C语言代码,[源码和文档分享]基于C语言的课程信息管理系统
- mysql数据库电话号码类型,mySQL数据库一:数据类型
- 了解更多关于11gR2 diskmon
- 如何在数据库中查找和消除重复的数据?
- linux双网卡连不上网,linux 双网卡配置问题
- mac版 IGV(版本2.12.3)安装
- 低延时直播系统开发技术方案
- php 5.6.15漏洞,中国骇客云0day漏洞之蝉知 5.6 getshell
- 小菊的语义分割1——语义分割科普Semantic Segmentation
- 台式电脑耳机没有声音的解决办法
- HTTP1.1协议中文版-RFC2616
- 微信扫码登陆在chrome浏览器失败
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- BP神经网络南瓜价格相关性研究与价格预测模型设计
- python求三角形面积步骤_通过求三角形面积步入python程序世界.pdf