The present invention provides a method and device for controlling timing tasks. The control method includes timing tasks provided by the application of the service: when the first run, the execution time stamp to the various timing tasks to be executed in the service and the timing task corresponding to start generating timing program identification task, and the task to record timing tasks in the database table; when the suspension of service operation is restarted, timing task timing task from the timing task timestamp and lookup table execution time stamp service time is greater than the corresponding and restart the service matching; timing task execution time stamp in the corresponding time in the search to find out the corresponding item in the start timing task program identification startup program. The method and device for controlling the timing task provided by this application can ensure the timely execution of the timed task.
【技术实现步骤摘要】
一种控制定时任务的方法和装置
本申请涉及计算机技术,尤其涉及一种控制定时任务的方法和装置。
技术介绍
某些服务运行时,往往要处理一些定时任务。其中,定时任务指以某一时刻为基准时间点,约定在距基准时间点预定时长要执行的任务。例如,音频服务运行时,以音频服务开始运行的时刻为基准时间点,约定距基准时间点5s时执行任务A,距基准时间点10s时执行任务B,任务A和任务B即为定时任务。服务在运行时,会由于某些原因崩溃掉(例如,由于服务器的原因),这时,需要通过手动方式或监控方式使服务重启。但是,当服务重启后,此时,服务中已创建好的定时任务由于服务崩溃而不存在,当再次创建定时任务、执行定时任务时,存在时间差,导致定时任务处理不及时。结合上面的例子,例如,当音频服务运行2秒后,音频服务崩溃,此时,通过手动方式使音频服务重启,这时,重新创建任务A和任务B,这样,任务A和任务B将分别在距服务重启的时刻5s和10s后被执行(任务A和任务B晚执行了2s),任务A和任务B处理不及时。
技术实现思路
有鉴于此,本申请提供一种控制定时任务的方法和装置,以解决现有技术中服务重启后,定时任务执行不及时 ...
【技术保护点】
一种控制定时任务的方法,其特征在于,包括:当服务首次运行时,以所述服务中待执行的各定时任务的执行时间戳和各定时任务对应的启动程序标识生成定时任务项,并将所述定时任务项记录到定时任务数据库表中;当中止运行的所述服务重启时,从所述定时任务数据库表中查找执行时间戳大于服务重启时刻对应的时间戳、且与所述服务的定时任务匹配的定时任务项;在查找到的定时任务项中的执行时间戳对应的时刻执行查找到的定时任务项中的启动程序标识对应的启动程序。
【技术特征摘要】
1.一种控制定时任务的方法,其特征在于,包括:当服务首次运行时,以所述服务中待执行的各定时任务的执行时间戳和各定时任务对应的启动程序标识生成定时任务项,并将所述定时任务项记录到定时任务数据库表中;当中止运行的所述服务重启时,从所述定时任务数据库表中查找执行时间戳大于服务重启时刻对应的时间戳、且与所述服务的定时任务匹配的定时任务项;在查找到的定时任务项中的执行时间戳对应的时刻执行查找到的定时任务项中的启动程序标识对应的启动程序。2.根据权利要求1所述的方法,其特征在于,在查找到的定时任务项中的执行时间戳对应的时刻执行查找到的定时任务项中的启动程序标识对应的启动程序之前,所述方法还包括:判断查找到的定时任务项中的启动程序标识是否表征查找到的定时任务项对应的定时任务为不可延时执行类任务;若是,则在查找到的定时任务项中的执行时间戳对应的时刻执行查找到的定时任务项中的启动程序标识对应的启动程序。3.根据权利要求1所述的方法,其特征在于,所述定时任务项中还记录有定时任务允许的延时时间,当中止运行的所述服务重启时,所述方法还包括:从所述定时任务数据库表中查找执行时间戳小于或者等于服务重启时刻对应的时间戳、且与所述服务的定时任务匹配的定时任务项;计算服务重启时刻对应的时间戳与查找到的定时任务项中的执行时间戳的差值;若所述差值小于或者等于查找到的定时任务项中的延时时间,立即执行查找到的定时任务项中的启动程序标识对应的启动程序。4.根据权利要求1或2所述的方法,其特征在于,所述定时任务数据库表中记录有多个服务对应的定时任务项,当中止运行的所述服务重启时,从所述定时任务数据库表中查找执行时间戳大于服务重启时刻对应的时间戳、且与所述服务的定时任务匹配的定时任务项,具体包括:从所述定时任务数据库表中查找与所述服务的定时任务匹配的定时任务项;在与所述服务的定时任务匹配的定时任务项中,查找执行时间戳大于服务重启时刻对应的时间戳的定时任务项。5.根据权利要求1-3任一项所述的方法,其特征在于,所述以所述服务中待执行的各定时任务的执行时间戳和各定时任务对应的启动程序标识生成定时任务项之前,所述方法还包括:确定各定时任务的执行时刻,并将确定出的执行时刻转换成执行时间戳。6.一种控制定时任务的装置,其特征在于,包括:...
【专利技术属性】
技术研发人员:尹正飞,陈晓慧,
申请(专利权)人:聚好看科技股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。