python定时任务

在测试打点系统算法的时候,需要按天注入数据,高通量的数据第一可以验证算法,第二也可以测试服务的性能,大多是异步的方式处理接口的数据,所以并不要求很高的并发,前期的测试代码开发选择了python,简单、轻量化,足以满足需求,

def runtime(sched_Timer,day):#day是我代码运行的周期,这个项目算法的验证最少需要90天,这里我初始化大于90
    global now,failed,lday,totalduration
    flag = 0#开始设flag=0
    while (gol.get_d()) <= day:
        now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        
        #now放在循环内刷新时间
        #print now
        if now == str(sched_Timer):#刷新到当前事件是定时的时间,run
            
            print (lday)
            p.data(random.randrange(10000,20000,100))#修改新增区间,这里是我业务需要灌入的数据量
            # p.data(10)#修改新增区间

            rd.readdev()
            t1 = threading.Thread(target=c.clientapi)
            t1.start()
            t1.join()#协程
            
            print (now)
            print ("****************************it is %sth day,total run %s times ******************************" %(gol.get_d(),(c.t)))
            with open (("log%s.txt" %(gol.get_d())) ,"a+") as f:
                f.write(str(now) + "\n")
                f.write("totalduration time  is %s" %c.totalduration + "\n")
                f.write("it is %sth day ,total run %s times" %(gol.get_d(),(c.t)) + "\n")
                f.write("error %s times" %(gol.get_failed()) + "\n")
            flag = 1#执行完任务flag设为1,代码进入else分支
            gol.set_d()#d++
        else:
            if flag==1:#if分支里面已将flag设为1,这里直接进入下面将定时设置为一天后
                sched_Timer=sched_Timer + datetime.timedelta(days=1)#括号内设置定时间隔,参数可以是天/小时/分钟
                flag = 0#设置新的定时后,flag置为0,下次循环不会修改定时时间
这段代码主要依靠flag的设置,使代码进入不同的分支,以此控制流程,简单总结如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值