延迟队列的基本操作

# 延迟任务 ---- 是指在大并发的前提下,我们希望有些事务能有序进行,但是执行一次不够,这时候,就可以使用延迟任务,
# 典型的就是mysql与redis进行同步,mysql的数据还未写入redis.但是用户已经从redis进行请求了,这时候,用户拿到的
# 就是典型的脏数据,不是新数据,延迟任务可以很好的缓解这一点,写个简单的实例解释一下

# 首先,导入相关模块
import queue  # tornado自带的队列模块
import datetime # 时间戳,我们判断延迟时间给定的模块
import threading # 线程模块,一会声明需要
import functools # 渲染方法的模块


def test(time):
    print("成功输出,%s秒后删除" % time)


# 声明一个延迟任务
class DelayTask:

    # 初始化  延迟时间和需要做的事情
    def __init__(self,delay_time, job_func):

        self.delay_time = delay_time

        self.job_func = job_func


# 声明时间转变成S的方法
def total_delay(dt):
    return dt.seconds + dt.days 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值