django使用redis实现超时监听实例

redis实现超时监听

coon1 = redis.Redis(host='127.0.0.1', port=6379, db=1, password=‘******')
# 监听并执行任务
def monitor(self):
        """
        监听过期时间并执行task
        :return:
        """
   log("1号库超时监听", "-------------")
        r = redis.StrictRedis(host='127.0.0.1', port=6379, db=1, password='******')
        pub = r.pubsub()
        pub.subscribe('__keyevent@1__:expired')

    for msg in pub.listen():

        info = (msg['data'])
        if type(info) != int: # 如果没有数据,默认数字
            info = info.decode()# 拿出数据为b
            if re.match(r'^heartbeat', info):# 正则匹配
                log('超时,执行任务')
             
     # 设置超时时间
     coon1.setex("heartbeat" + msg, 60, "time") # 60s后超时,task执行
目前这方面还不是很通透,欢迎大佬指教!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值