任务处理方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:19489123 阅读:145 留言:0更新日期:2018-11-17 12:03
本申请公开了一种任务处理方法、装置、计算机设备及存储介质,其中方法包括:在Web平台上添加Redis工具,并通过所述Redis工具创建预设任务队列,所述Web平台为基于Ansible和Celery框架开发而成的网页平台;获取所述Web平台中的Celery队列中的待执行任务;将所述待执行任务保存至所述预设任务队列;获取所述预设任务队列中满足预设执行条件的待执行任务,其中所述预设执行条件对应预设处理方式;将满足所述预设执行条件的待执行任务按照所述预设处理方式执行。该方法加快了待执行任务的处理速度,避免了任务堆积,进而提高了Web平台的响应速度,提高了用户体验。

【技术实现步骤摘要】
任务处理方法、装置、计算机设备及存储介质
本申请涉及互联网
,尤其涉及一种任务处理方法、装置、计算机设备及存储介质。
技术介绍
目前,在互联网行业,为了便于运维管理,Web平台通常会使用Ansible和Celery框架相结合进行开发,但是Celery队列里的任务在执行时只能是单进程执行,如果任务过多,这种单进程执行会导致任务消费很慢,进而导致在远程服务器上执行会有性能瓶颈,导致Celery队列会堆积大量任务。因此,需要提供一种任务处理方法以解决上述问题。
技术实现思路
本申请提供了一种任务处理方法、装置、计算机设备及存储介质,旨在加快Web平台的响应速度。第一方面,本申请提供了一种任务处理方法,其包括:在Web平台上添加Redis工具,并通过所述Redis工具创建预设任务队列,其中所述Web平台为基于Ansible和Celery框架开发而成的网页平台;获取所述Web平台中的Celery队列中的待执行任务;将所述待执行任务保存至所述预设任务队列;获取所述预设任务队列中满足预设执行条件的待执行任务,其中所述预设执行条件对应预设处理方式;以及将满足所述预设执行条件的待执行任务按照所述预设处理方式执行。第二方面,本申请提供了一种任务处理装置,其包括:添加创建单元,用于在Web平台上添加Redis工具,并通过所述Redis工具创建预设任务队列,其中所述Web平台为基于Ansible和Celery框架开发而成的网页平台;第一获取单元,用于获取所述Web平台中的Celery队列中的待执行任务;任务保存单元,用于将所述待执行任务保存至所述预设任务队列;第二获取单元,用于获取所述预设任务队列中满足预设执行条件的待执行任务,其中所述预设执行条件对应预设处理方式;以及任务执行单元,用于将满足所述预设执行条件的待执行任务按照所述预设处理方式执行。。第三方面,本申请还提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任意一项所述的任务处理方法的步骤。第四方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任意一项所述的任务处理方法的步骤。本申请实施例可借助Redis工具创建预设任务队列,通过预设任务队列选择不同预设处理方式快速消费掉Celery队列的任务,由此可避免了任务的大量堆积,解决了远程服务器上执行会有性能瓶颈问题。加快了待执行任务的处理速度,进而提高了Web平台的响应速度,提高了用户体验。附图说明为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一实施例提供的一种任务处理方法的示意流程图;图2是图1中任务处理方法的子步骤示意流程图;图3是图2中任务处理方法的子步骤示意流程图;图4是本申请另一实施例提供的一种任务处理方法的示意流程图;图5是本申请一实施例提供的一种任务处理装置的示意性框图;图6是本申请另一实施例提供的一种任务处理装置的示意性框图;图7是本申请一实施例提供的一种计算机设备的示意性框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。请参阅图1,图1是本申请一实施例提供的一种任务处理方法的示意流程图。如图1所示,该任务处理方法包括步骤S101~S105。S101、在Web平台上添加Redis工具,并通过所述Redis工具创建预设任务队列,其中所述Web平台为基于Ansible和Celery框架开发而成的网页平台。在本实施例中,Web平台是基于Ansible和Celery框架开发而成的网页平台,Ansible是基于Python开发的自动化运维工具,Celery是一个基于Python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理。其中Celery只能单线程执行任务,因此会导致Celery队列会堆积大量任务,影响Web平台的响应式速度。其中,Redis工具是一个高性能的key-value数据库,也是内存数据库,将Redis工具添加到Web平台中,并通过该Redis工具创建预设任务队列,该预设任务队列用于记录任务。具体地,该预设任务队列可以为一个队列表的形式。S102、获取所述Web平台中的Celery队列中的待执行任务。在本实施例中,由于Celery只能单线程执行任务,因此Celery队列有可能堆积很多待执行任务。因此,所述获取所述Web平台中的Celery队列中的待执行任务,包括:定时轮询所述Celery队列以获取所述Web平台中的Celery队列中的待执行任务。其中,所述定时轮询的时长可以根据实际需要进行设定,在此不做限定。在一实施例中,所述获取所述Web平台中的Celery队列中的待执行任务,包括:获取所述待执行任务对应的Web应用。所述待执行任务对应的Web应用具体是指由某个Web应用下发的待执行任务。S103、将所述待执行任务保存至所述预设任务队列。在本实施例中,所述预设任务队列是通过Redis工具在内存数据库中创建的任务队列,因此方便快速保存或读取所述预设任务队列的内容,由此加快了待执行任务的处理速度。S104、获取所述预设任务队列中满足预设执行条件的待执行任务,其中所述预设执行条件对应预设处理方式。在本实施例中,该预设执行条件用于将所述预设任务队列中的待执行任务进行分类,以便根据不同的待执行任务选择不同预设处理方式进行执行。比如该预设处理方式为多线程处理方式,进而加快待执行任务的处理速度。在一实施例中,该预设执行条件比如为待执行任务对应的Web应用处于正在运行状态。具体地,如图2所示,步骤S104包括子步骤S104a和S104b。其中,S104a、监测所述预设任务队列中的待执行任务对应的Web应用是否处于运行状态;S104b、若所述待执行任务对应的Web应用处于运行状态,则判定所述待执行任务满足所述预设执行条件。其中,监测所述预设任务队列中的待执行任务对应的Web应用是否处于运行状态,具体通过监控所述Web本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,包括:在Web平台上添加Redis工具,并通过所述Redis工具创建预设任务队列,其中所述Web平台为基于Ansible和Celery框架开发而成的网页平台;获取所述Web平台中的Celery队列中的待执行任务;将所述待执行任务保存至所述预设任务队列;获取所述预设任务队列中满足预设执行条件的待执行任务,其中所述预设执行条件对应预设处理方式;以及将满足所述预设执行条件的待执行任务按照所述预设处理方式执行。

【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:在Web平台上添加Redis工具,并通过所述Redis工具创建预设任务队列,其中所述Web平台为基于Ansible和Celery框架开发而成的网页平台;获取所述Web平台中的Celery队列中的待执行任务;将所述待执行任务保存至所述预设任务队列;获取所述预设任务队列中满足预设执行条件的待执行任务,其中所述预设执行条件对应预设处理方式;以及将满足所述预设执行条件的待执行任务按照所述预设处理方式执行。2.根据权利要求1所述的任务处理方法,其特征在于,所述将所述待执行任务保存至所述预设任务队列之前,还包括:判断所述Celery队列中的待执行任务的数量是否大于预设任务数量;若所述Celery队列中的待执行任务的数量大于所述预设任务数量,执行所述将所述待执行任务保存至所述预设任务队列的步骤。3.根据权利要求1所述的任务处理方法,其特征在于,所述获取所述Web平台中的Celery队列中的待执行任务,包括:获取所述待执行任务对应的Web应用;所述获取所述预设任务队列中满足预设执行条件的待执行任务,包括:监测所述预设任务队列中的待执行任务对应的Web应用是否处于运行状态;若所述待执行任务对应的Web应用处于运行状态,则判定所述待执行任务满足所述预设执行条件。4.根据权利要求3所述的任务处理方法,其特征在于,所述监测所述待执行任务对应的Web应用是否处于运行状态,包括:监测所述待执行任务对应的Web应用对应的主线程的运行回路的状态;根据所述主线程的运行回路的状态判断所述Web应用是否处于运行状态。5.根据权利要求1所述的任务处理方法,其特征在于,所述获取所述预设任务队列中满足预设执行条件的待执行任务,包括:确定所述预设任务队列中的待执行任务的数量对应的预设数量范围,其中不同的预设数量范围对应不同的预设处理方式;根据确定的预设数量...

【专利技术属性】
技术研发人员:丁文祥
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1