ZooKeeper Notes
Generate Python Documentation
Tools
pydoc
- python 自带工具,命令行,功能简单
pdoc
- 无需配置,界面美观,功能简单
sphinx
- 功能强大,需要配置
doxygen
- 古老工具
- 可以解析 依赖和继承关系
msys2
shell 分类
参考:
区别:
msys
- cygwin
Msys mingw 64
- x86_x64 windows
- 提供基于 windows 的 程序和 mingw-w64 编译系统
Msys mingw 32
- x86 windows
启动不同 msystem 的方法
参考:
使用 msys2_shell.cmd
1E:\soft\msys64\msys2_shell.cmd -mingw64 -shell zsh使用 env 命令
1e:\msys64\usr\bin\env MSYSTEM=MSYS /usr/bin/bash -li.exe 工具
Python Locker Implementation Notes ---- python 中锁的实现
分布式锁
portalocker.RedisLock
实现方式
- redis pubsub channel
创建
1 2 3 4 5 6 7 8import portalocker lock = portalocker.RedisLock('some_lock_channel_name') with lock: print('do something here') # *** Redis 连接设定Redis 连接设定
- 使用 redis.client.Redis 类 实现
- 用 RedisLock 可选关键字参数
redis_kwargs: typing.Optional[typing.Dict] = None指定 参考
1 2 3 4 5 6 7 8 9 10 11 12 13 14class Redis: def __init__(self, host='localhost', port=6379, db=0, password=None, socket_timeout=None, socket_connect_timeout=None, socket_keepalive=None, socket_keepalive_options=None, connection_pool=None, unix_socket_path=None, encoding='utf-8', encoding_errors='strict', charset=None, errors=None, decode_responses=False, retry_on_timeout=False, ssl=False, ssl_keyfile=None, ssl_certfile=None, ssl_cert_reqs='required', ssl_ca_certs=None, ssl_check_hostname=False, max_connections=None, single_connection_client=False, health_check_interval=0, client_name=None, username=None):
python-redis-lock pip 包实现
- 参考:GitHub - ionelmc/python-redis-lock: Lock context manager implemented via redi…
- 模块:=redis_lock=
例子