开发者社区> 问答> 正文

如何定时启动指定任务


第一个方法:适用于在执行目标任务之前需要一直进行一项类似刷新任务,以保持账号不掉线的情况
Func timerToRun()
        ;做一个计数的,配合时间间隔来使用的
        $browserCount=0
        
        ;无限循环
        while true
                ;计数,第几次执行
                $browserCount+=1
                
                ;要执行任务的时间
                $desTime="2017-03-05 20:07:00"
                
                ;执行任务之前,要进行刷新操作的时间间隔
                $interval=3
                
                ;计算当前时间与目标时间的时间差,如果目标时间已过,则差为正数,否则为负数
                $diff = J_Date_Diff($desTime, @year & "-" & @mon & "-" & @mday & " " & @hour & ":" & @min & ":" & @sec, "S")
                
                ;如果发现目标时间已过,则退出刷新循环,而执行接下来的操作
                if $diff > 0 then
                        ;跳出循环
                        ExitLoop
                EndIf
                
                ;如果符合间隔时间,则进行一次刷新操作,一般是为了维持账号不掉线;也可以啥都不做的
                if mod($browserCount,$interval) = 0 Then
                        
                        ;在此处写你的刷新代码
                        
                EndIf
                
                ;休眠一段时间,此处设置成了1秒;如果此处设置成了更长的时间,则上面的间隔就会跟着变长
                Sleep(1000)
        WEnd
        
        ;下面可以放你到了目标时间后的任务,也可以放函数的了
        J_MsgBox("到点了,起床")

EndFunc

第二个方法:适用于指定时间间隔一直做同样的事情、指定每天同样的时间做同样的事情、指定每天同样的多个时间做同样的事情,都可以使用下面的函数【此函数来自官方】
每隔3秒执行一次Start函数
; J_Timer(3, 'Start')
; 每天的8点执行一次Start函数
; J_Timer('08:00:00', 'Start')
; 每天的8点、14点、20点执行一次Start函数
; J_Timer('08:00:00 14:00:00 20:00:00', 'Start')




展开
收起
水晶心泉 2017-03-03 19:17:21 2105 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载