配置GEvent#
参见
gevent.setswitchinterval()
用于其他运行时配置。
- class Config[源代码]#
基类:
object
Gevent的全局配置。
此对象的一个实例位于
gevent.config
. 如果要在代码中进行更改,而不是使用文档化的环境变量,则需要在使用可能需要这些设置的gevent的任何部分之前进行更改。例如::>>> from gevent import config >>> config.fileobject = 'thread' >>> from gevent import fileobject >>> fileobject.FileObject.__name__ 'FileObjectThread'
在 1.3a2 版本加入.
- property ares_servers#
为ARES解析器提供名称服务器IP地址的字符串列表。
在环境变量中,这些字符串由逗号分隔。
自 1.3a2 版本弃用: 喜欢
resolver_nameservers
设置。如果两个都设置了,则不会定义结果。默认值为
None
环境变量
GEVENTARES_SERVERS
可以用来控制这个。
- property ares_timeout#
自 1.3a2 版本弃用: 喜欢
resolver_timeout
设置。如果两个都设置了,则不会定义结果。默认值为
None
环境变量
GEVENTARES_TIMEOUT
可以用来控制这个。
- property disable_watch_children#
我们应该吗 not 用事件循环监视程序监视子级?
这是高级设置。
见
gevent.os
详细描述。这是一个布尔值。
在环境变量中,可以将其指定为
1
,true
,on
或yes
对于True
或0
,false
,off
或no
对于False
.默认值为
False
环境变量
GEVENT_NOWAITPID
可以用来控制这个。
- property fileobject#
那种
FileObject
我们将使用。见
gevent.fileobject
详细描述。这是一个重要的价值。它可以作为一个命名可导入对象的字符串,或者按优先顺序排列的字符串列表提供,并且将使用第一个成功导入的对象。(使用逗号分隔环境变量中的值。)它也可以作为可调用对象本身(在代码中)提供。默认对象的简写名称为 ['thread'、'posix'、'block']
默认值为
['posix', 'thread']
环境变量
GEVENT_FILE
可以用来控制这个。
- property format_context#
这是一个重要的价值。它可以作为一个命名可导入对象的字符串,或者按优先顺序排列的字符串列表提供,并且将使用第一个成功导入的对象。(使用逗号分隔环境变量中的值。)它也可以作为可调用对象本身(在代码中)提供。
默认值为
pprint.saferepr
环境变量
GEVENT_FORMAT_CONTEXT
可以用来控制这个。
- property loop#
我们使用的循环类型。
在Windows上,它默认为libuv,而在其他平台上,它默认为libev。
这是一个重要的价值。它可以作为一个命名可导入对象的字符串,或者按优先顺序排列的字符串列表提供,并且将使用第一个成功导入的对象。(使用逗号分隔环境变量中的值。)它也可以作为可调用对象本身(在代码中)提供。默认对象的简写名称为 ['libev-cext', 'libev-cffi', 'libuv-cffi', 'libuv']
默认值为
['libev-cext', 'libev-cffi', 'libuv-cffi']
环境变量
GEVENT_LOOP
可以用来控制这个。
- property max_blocking_time#
如果
monitor_thread
如果启用,这大约是在发出警告之前允许事件循环阻塞的时间(秒)。此函数取决于使用
greenlet.settrace
,因此,在启动监视线程后安装自己的跟踪函数将导致此功能行为错误,除非调用由返回的函数greenlet.settrace
. 如果安装跟踪函数 之前 监视线程已启动,仍将调用它。备注
如果不太可能在短时间内在同一个本机线程中创建和使用多个不同的gevent集线器,特别是在不破坏集线器的情况下,可能会报告误报。
在 1.3b1 版本加入.
默认值为
0.1
环境变量
GEVENT_MAX_BLOCKING_TIME
可以用来控制这个。
- property max_memory_usage#
如果
monitor_thread
如果启用,则如果内存使用量超过此数量(以字节为单位),则将发出事件。见gevent.events
. 在环境变量中,可以使用后缀“kb”、“mb”或“gb”指定值(以千字节、兆字节或千兆字节为单位)。此设置没有默认值。如果要限制内存使用,必须选择一个值。
默认值为
None
环境变量
GEVENT_MONITOR_MEMORY_MAX
可以用来控制这个。
- property memory_monitor_period#
如果
monitor_thread
启用后,这大约是检查进程内存使用情况之间的时间间隔(以秒为单位)。在某些操作系统上检查内存使用情况相对比较昂贵,因此这不应该太低。Gevent将在其上放置一个下限值。
默认值为
5
环境变量
GEVENT_MONITOR_MEMORY_PERIOD
可以用来控制这个。
- property monitor_thread#
每个集线器应该启动一个本地OS线程来监视问题吗?
这样的线程将定期检查事件循环是否被阻塞超过
max_blocking_time
,如果检测到此情况,则在集线器的异常流(默认情况下为stderr)上生成输出。如果此设置为真,那么将在第一次切换集线器时创建此线程,或者可以调用
gevent.hub.Hub.start_periodic_monitoring_thread()
在任何时候创建它(从运行集线器的同一线程)。该函数将返回gevent.events.IPeriodicMonitorThread
您可以在其中添加自己的监视功能。该函数还发出gevent.events.PeriodicMonitorThreadStartedEvent
.在 1.3b1 版本加入.
这是一个布尔值。
在环境变量中,可以将其指定为
1
,true
,on
或yes
对于True
或0
,false
,off
或no
对于False
.默认值为
False
环境变量
GEVENT_MONITOR_THREAD_ENABLE
可以用来控制这个。
- property resolver#
将用于创建
gevent.hub.Hub.resolver
.见 名称解析(DNS) 更多信息。
这是一个重要的价值。它可以作为一个命名可导入对象的字符串,或者按优先顺序排列的字符串列表提供,并且将使用第一个成功导入的对象。(使用逗号分隔环境变量中的值。)它也可以作为可调用对象本身(在代码中)提供。默认对象的简写名称为 [“ares”、“thread”、“block”、“dnspython”]
默认值为
['thread', 'dnspython', 'ares', 'block']
环境变量
GEVENT_RESOLVER
可以用来控制这个。
- property resolver_nameservers#
为(非系统)冲突解决程序提供名称服务器IP地址的字符串列表。
在环境变量中,这些字符串由逗号分隔。
分解器行为
舞台调度
忽略
线程的
忽略
dnspython公司
如果未提供此设置,Dnspython解析程序将加载要从中使用的名称服务器
/etc/resolv.conf
或Windows注册表。此设置将替换从这些方法中读取的任何名称服务器。请注意,对于其他设置,仍会读取文件和注册表。小心
Dnspython不验证列表成员。不正确的地址(如主机名而不是IP)会导致未定义的结果,包括挂起进程。
阿瑞斯
类似于dnspython,但是有更多的平台和编译时选项。ARES验证列表中的成员是有效地址。
默认值为
None
环境变量
GEVENT_RESOLVER_NAMESERVERS
可以用来控制这个。
- property resolver_timeout#
DNS解析程序进行查询所花费的总时间。
只有战神和dnspython解析器支持这一点。
在 1.3a2 版本加入.
默认值为
None
环境变量
GEVENT_RESOLVER_TIMEOUT
可以用来控制这个。
- property threadpool#
我们使用的那种线程工具。
这是一个重要的价值。它可以作为一个命名可导入对象的字符串,或者按优先顺序排列的字符串列表提供,并且将使用第一个成功导入的对象。(使用逗号分隔环境变量中的值。)它也可以作为可调用对象本身(在代码中)提供。
默认值为
gevent.threadpool.ThreadPool
环境变量
GEVENT_THREADPOOL
可以用来控制这个。
- property threadpool_idle_task_timeout#
允许默认线程池(默认情况下用于DNS)中的线程在退出前空闲多长时间。
使用-1表示无超时。
在 22.08.0 版本加入.
缺省值为
5.0
环境变量
GEVENT_THREADPOOL_IDLE_TASK_TIMEOUT
可以用来控制这一点。
- property trace_malloc#
外国金融机构对象是否应跟踪其分配?
这只对低级调试有用。
在python 3上,这个环境变量内置于解释器中,也可以用
-X tracemalloc
命令行参数。在python 2上,gevent解释这个参数,并为ffi对象添加额外的跟踪信息。
默认值为
False
环境变量
PYTHONTRACEMALLOC
可以用来控制这个。
- property track_greenlet_tree#
应该
Greenlet
物体跟踪它们的产卵树?将其设置为FALSE值将生成
Greenlet
对象和使用spawn_raw
更快,但spawning_greenlet
,spawn_tree_locals
和spawning_stack
不会被抓获。将其设置为False值还可以减少内存使用,因为捕获堆栈会捕获有关Python帧的一些信息。在 1.3b1 版本加入.
这是一个布尔值。
在环境变量中,可以将其指定为
1
,true
,on
或yes
对于True
或0
,false
,off
或no
对于False
.默认值为
True
环境变量
GEVENT_TRACK_GREENLET_TREE
可以用来控制这个。