[发明专利]Celery任务管理方法、系统、设备及存储介质有效
申请号: | 202010099042.0 | 申请日: | 2020-02-18 |
公开(公告)号: | CN111324474B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 姜贤富 | 申请(专利权)人: | 上海携程商务有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 上海隆天律师事务所 31282 | 代理人: | 夏彬 |
地址: | 200335 上海市长*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | celery 任务 管理 方法 系统 设备 存储 介质 | ||
1.一种Celery任务管理方法,其特征在于,包括创建任务,所述创建任务包括如下步骤:
接收用户输入的任务创建信息,所述任务创建信息包括任务名称、任务对应的业务逻辑函数名称和任务参数;
创建新任务,调用预设的任务模板,将所述任务创建信息填入所述任务模板,生成新任务的任务脚本;
根据所述任务对应的业务逻辑函数名称,建立任务与包括对应的业务逻辑函数的代码文件的对应关系;
将所述新任务加入Celery的任务队列,所述新任务的任务脚本执行时自动调用所对应的代码中所对应的业务逻辑函数;
所述方法还包括更新任务,所述更新任务包括如下步骤:
接收到新的代码文件;
将新的代码文件加载于调度内存中,并记录所述新的代码文件的更新时间戳;
所述更新任务还包括如下步骤:
每隔预设时间从调度内存中获取各个代码文件的更新时间戳;
判断当前获取的代码文件的更新时间戳与前一次获取的同一代码文件的更新时间戳是否一致;
如果不一致,则更新所述代码文件所对应的任务,以使得在执行所述代码文件所对应的任务时加载当前获取的代码文件。
2.根据权利要求1所述的Celery任务管理方法,其特征在于,所述更新任务中,所述每隔预设时间从调度内存中获取各个代码文件的更新时间戳之后,还包括如下步骤:
判断所述代码文件是否为新创建的代码文件;
如果所述代码文件不是新创建的代码文件,则判断当前获取的代码文件的更新时间戳与前一次获取的同一代码文件的更新时间戳是否一致。
3.根据权利要求1所述的Celery任务管理方法,其特征在于,如果当前获取的代码文件的更新时间戳与前一次获取的同一代码文件的更新时间戳不一致,所述更新任务还包括如下步骤:
判断所述代码文件所对应的任务是否被其他任务所调用;
如果是,则更新对应的其他任务,以使得其他任务执行并调用所述代码文件所对应的任务时,加载当前获取的代码文件。
4.根据权利要求2所述的Celery任务管理方法,其特征在于,所述更新任务中,判断所述代码文件是否为新创建的代码文件之后,还包括如下步骤:
如果所述代码文件为新创建的代码文件,则记录新创建的代码文件中的业务逻辑函数名称;
所述创建任务中,接收用户输入的任务创建信息时,判断所述任务创建信息中的业务逻辑函数名称是否包含在调度内存中存储的代码文件中;
如果是,则根据所述任务对应的业务逻辑函数名称,建立任务与包括对应的业务逻辑函数的代码文件的对应关系;
否则,向用户发送错误提示。
5.一种Celery任务管理系统,其特征在于,用于实现权利要求1至4中任一项所述的Celery任务管理方法,所述系统包括:
信息接收模块,用于接收用户输入的任务创建信息,所述任务创建信息包括任务名称、任务对应的业务逻辑函数名称和任务参数;
任务创建模块,用于创建新任务,调用预设的任务模板,将所述任务创建信息填入所述任务模板,生成新任务的任务脚本;
代码关联模块,用于根据所述任务对应的业务逻辑函数名称,建立任务与包括对应的业务逻辑函数的代码文件的对应关系;
任务添加模块,用于将所述新任务加入Celery的任务队列,所述新任务的任务脚本执行时自动调用所对应的代码中所对应的业务逻辑函数;
文件加载模块,用于接收到新的代码文件,将新的代码文件加载于调度内存中,并记录所述新的代码文件的更新时间戳;
任务更新模块,用于每隔预设时间从调度内存中获取各个代码文件的更新时间戳;判断当前获取的代码文件的更新时间戳与前一次获取的同一代码文件的更新时间戳是否一致;如果不一致,则更新所述代码文件所对应的任务,以使得在执行所述代码文件所对应的任务时加载当前获取的代码文件。
6.一种Celery任务管理设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至4中任一项所述的Celery任务管理方法的步骤。
7.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至4中任一项所述的Celery任务管理方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海携程商务有限公司,未经上海携程商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010099042.0/1.html,转载请声明来源钻瓜专利网。