定时器Python实现代码
import time
import redis
import multiprocessing
class Base:
"""
redis配置
"""
redis_conf = {}
"""
环形队列使用redis进行存储
"""
_ri = None
"""
定时器轮盘大小
"""
slot_num = 15
"""
存储环形队列使用的redis缓存key
"""
cache_key = 'wheel:slot_'
def __init__(self, **kwargs):
for k in kwargs:
if hasattr(self, k):
setattr(self, k, kwargs[k])
self._ri = redis.Redis(**self.redis_conf)
class Timer(Base):
"""
当前slot的下标
"""
_current = 0
"""
事件处理
"""
event_handler = None
def worker(self):
"""
# TODO 测试每个卡槽有1W事件ID的处理效率
独立进程,分发事件id给事件处理器
:return:
"""
key