【技术实现步骤摘要】
一种基于redis的定时任务方法及其系统
本专利技术涉及应用系统中的脚本任务
,特别涉及一种基于redis的定时任务方法及其系统。
技术介绍
在很多应用系统中,往往需要定时执行一些脚本任务,例如定时消息通知、商品秒杀等功能性任务。而实现定时任务功能,传统的做法一般只是在LINUX系统中利用Crontab来设置一个或多个定时任务,然而采用Crontab设置的定时任务又存在以下缺点:1、灵活性不高,往往只能针对一个大的维度或系统级别设置任务;2、时间控制灵活性不足;3、需要在LINUX系统中进行配置,从而需要具体掌握LINUX系统知识。基于上述情况,本专利技术结合redis与mysql,设计一种灵活性较高的定时任务触发方法。
技术实现思路
本专利技术要解决的技术问题在于,提供一种基于redis的定时任务方法及其系统,用于极大地提高定时任务的灵活性和可操作性,并且针对不同场景,来设置一次性的单次执行任务,或设置循环执行任务。为解决上述技术问题,本专利技术提供如下技术方案:一种基于redis ...
【技术保护点】
1.一种基于redis的定时任务方法,其特征在于,包括以下步骤:/nS1、输入脚本任务路径和脚本任务参数;/nS2、输入任务类型,任务类型包括单次任务和循环任务;若任务类型为单次任务,则输入执行时间;若任务类型为循环任务,则输入首次执行时间、任务执行时间间隔;/nS3、生成全局唯一任务ID;/nS4、Redis设置任务ID为KEY值和KEY的到期时间;/nS5、Mysql记录任务ID,记录脚本任务路径和任务参数,以及记录执行时间;若任务类型为循环任务,Mysql还需要记录任务执行时间间隔;/nS6、对KEY的到期时间在到期后,Redis通知客户端,客户端从而取得任务ID;/ ...
【技术特征摘要】
1.一种基于redis的定时任务方法,其特征在于,包括以下步骤:
S1、输入脚本任务路径和脚本任务参数;
S2、输入任务类型,任务类型包括单次任务和循环任务;若任务类型为单次任务,则输入执行时间;若任务类型为循环任务,则输入首次执行时间、任务执行时间间隔;
S3、生成全局唯一任务ID;
S4、Redis设置任务ID为KEY值和KEY的到期时间;
S5、Mysql记录任务ID,记录脚本任务路径和任务参数,以及记录执行时间;若任务类型为循环任务,Mysql还需要记录任务执行时间间隔;
S6、对KEY的到期时间在到期后,Redis通知客户端,客户端从而取得任务ID;
S7、客户端使用该任务ID来获取Mysql中对应记录,从而获取到脚本任务路径和脚本任务参数,执行对应的脚本任务。
2.根据权利要求1所述的一种基于redis的定时任务方法,其特征在于,还包括步骤S8、在步骤S7中,若任务类型为单次任务,则结束任务;若任务类型为循环任务,客户端使用该任务ID来获取Mysql中对应记录,从而获取循环任务的任务执行时间间隔,并生成下一次任务ID;
S9、重复步骤S4-S8。
3.根据权利要求1或2所述的一种...
【专利技术属性】
技术研发人员:招剑江,史伟,闵宇,
申请(专利权)人:广东睿江云计算股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。