eventletutils

Eventlet 工具辅助模块。

1.3 版本中添加。

class oslo_utils.eventletutils.EventletEvent(*args, **kwargs)

提供一致的 eventlet/threading Event API 的类。

该类包装 eventlet.event.Event 类,使其具有与标准 threading.Event 对象相同的 API。

oslo_utils.eventletutils.fetch_current_thread_functor()

获取当前线程。

如果 eventlet 用于猴子补丁 threading 模块,则返回当前的 eventlet green 线程。否则,返回当前的 Python 线程。

在 1.5 版本中添加。

oslo_utils.eventletutils.is_monkey_patched(module)

安全地确定 eventlet 是否为模块启用了补丁:param module: 字符串,模块名称:return 布尔值:如果模块已补丁,则为 True,否则为 False

oslo_utils.eventletutils.warn_eventlet_not_patched(expected_patched_modules=None, what='this library')

如果 eventlet 在没有提供模块补丁的情况下使用,则发出警告。

参数:
  • expected_patched_modules (list/tuple/iterable) – 检查以确保已补丁的模块列表(如果未补丁则发出警告);这些名称应与传递到 eventlet monkey_patch() 例程的名称相对应。如果未提供,则检查所有可以补丁的模块。当前有效的选择是 [‘MySQLdb’, ‘__builtin__’, ‘all’, ‘os’, ‘psycopg’, ‘select’, ‘socket’, ‘thread’, ‘time’] 中的一个或多个(其中 ‘all’ 具有内在的特殊含义)。

  • what (string) – 要合并到警告消息中的字符串,以标识正在检查的内容(用于形成发出的警告消息)。