一种Celery在线管理及自动执行任务的方法、系统和存储介质技术方案

技术编号:26478389 阅读:27 留言:0更新日期:2020-11-25 19:22
本发明专利技术公开了一种Celery在线管理及自动执行任务的方法、系统和存储介质,涉及计算机软件应用技术领域。所述方法基于Celery分布式框架,在Web中自定义任务并保存在数据库中,然后在线触发任务执行请求,为请求任务创建任务队列并为任务队列启动Worker进程,接下来使用Celery异步执行方法与Python动态执行方法进行自定义任务执行,实现任务逻辑在线变更及实时生效的需求。本发明专利技术方案在解决了现有技术中Celery无法在线创建注册任务且必须重启Celery服务才可执行任务的问题,以更加简便快捷的方式实现任务管理,缩减了系统的升级流程,提高了系统的稳定性及运维效率。

【技术实现步骤摘要】
一种Celery在线管理及自动执行任务的方法、系统和存储介质
本专利技术实施例涉及计算机软件应用
,具体来说涉及一种Celery在线管理及自动执行任务的方法、系统和存储介质。
技术介绍
Celery是一种Python开发的分布式队列的管理工具,可通过接口快速实现并管理一个分布式的任务队列。Celery作为一种分布式异步框架,具有高可用、简单、快速及灵活等特点,多被用以处理实时异步任务或周期性轮询任务,例如服务器数据采集、异步执行远程命令等多种场景。现有技术中,Celery任务注册方式主要通过在后台脚本文件中提前定义任务函数名及代码逻辑,在启动Celery服务后将带有指定注解的方法名注册到Celery中,便于后续Worker进程获取任务并执行。但其存在下述不足之处:一方面使用Celery后端静态注册任务信息的方式,在任务逻辑或参数更新时,必须要求开发或运维人员变更代码并进行代码升级发布,且必须要重启Celery服务才能生效最新代码。这种方式无法有效支持需要频繁修改代码逻辑或任务参数的应用场景,且增加了开发运维人员的工本文档来自技高网...

【技术保护点】
1.一种Celery在线管理及自动执行任务的方法,其特征在于,包括以下步骤:/n在Web中自定义任务并保存在数据库中,在线触发任务执行请求;/n接收任务执行请求,为请求任务创建任务队列并为任务队列启动Worker进程,然后基于Celery异步执行方法与Python动态执行方法进行自定义任务执行。/n

【技术特征摘要】
1.一种Celery在线管理及自动执行任务的方法,其特征在于,包括以下步骤:
在Web中自定义任务并保存在数据库中,在线触发任务执行请求;
接收任务执行请求,为请求任务创建任务队列并为任务队列启动Worker进程,然后基于Celery异步执行方法与Python动态执行方法进行自定义任务执行。


2.根据权利要求1所述的一种Celery在线管理及自动执行任务的方法,其特征在于,所述基于Celery异步执行方法与Python动态执行方法进行自定义任务执行,包括下述步骤:
引用公共执行函数,通过Celery异步执行函数将任务相关信息作为执行参数发送至指定任务队列;
Worker进程从指定任务队列中获取任务信息,利用Python动态定义函数将函数字符串转换为可调用函数;
从任务信息中获取执行函数参数传入可调用函数,自动执行任务逻辑。


3.根据权利要求1所述的一种Celery在线管理及自动执行任务的方法,其特征在于,所述在Web中自定义任务并保存在数据库中,在线触发任务执行请求,包括下述步骤:
登录Web服务新建执行函数,并将函数数据保存至后端执行函数数据表中;
新建执行任务,选择执行函数输入函数参数信息,并将数据保存至后端任务表中;
在Web界面中选择执行任务,触发任务执行请求。


4.根据权利要求1所述的一种Celery在线管理及自动执行任务的方法,其特征在于,所述在Web中自定义任务之前,还包括下述步骤:
准备Python环境,并在Python环境中进行Celery及其组件的安装;
配置Celery调度引擎,启动Web服务与Celery服务进程。


5.一种Celery在线管理及...

【专利技术属性】
技术研发人员:徐基法邓淮谦
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1