【技术实现步骤摘要】
一种用户自定义后台任务创建方法
[0001]本专利技术涉及计算机程序设计
,具体而言,涉及一种用户自定义后台任务创建方法。
技术介绍
[0002]对于服务器端的应用程序,经常会有使用后台任务处理的情况,如定期搜集数据计算、每天将数据汇总等处理。
[0003]对于由系统开发者开发的后台任务处理,一般都会经过测试论证后上线运行。但是对于允许用户自行编写代码创建运行后台任务处理的情况,由于系统并不能直接干预用户所编写的脚本,很容易出现不可控的情况,最终导致整个系统出现问题。比如:后台任务A中创建了多个后台任务B,而每个后台任务B中又创建了多个后台任务A;用户自定义后台任务处理的无限增长,导致整个系统崩溃。
[0004]并且,以往的允许用户自定义的后台任务一般只会提供有限的功能和处理逻辑来保证后台任务执行不会超出预期。而对于允许用户完全自定义(即用户提供脚本)的后台任务一般没有相应的限制,出错后果完全由用户承担。
技术实现思路
[0005]鉴于此,本专利技术的目的在于在支持用户执行自定义后台任务 ...
【技术保护点】
【技术特征摘要】
1.一种用户自定义后台任务创建方法,其特征在于,包括以下步骤:a1、基于Celery后台处理框架,设置后台任务的最大深度Dmax和最大广度Cmax;a2、主后台任务调用initStatus初始化函数,所述initStatus初始化函数创建状态信息并保存到后台任务的上下文ctx中,执行主后台任务;a3、主后台任务中调用checkStatus检查函数,检查是否存在后台任务深度D>=Dmax、后台任务广度C>=Cmax;若D>=Dmax或C>=Cmax,则拒绝创建子后台任务,并抛出错误;若D<Dmax和C<Cmax,则创建新的子后台任务。2.根据权利要求1所述的用户自定义后台任务创建方法,其特征在于,所述a3步骤的所述创建新的子后台任务之后,还包括:a31、子后台任务调用initSubStatus初始化函数,所述initSubStatus初始化函数创建状态信息并保存到子任务的上下文ctx中,执行子后台任务;a32、子后台任务中调用checkStatus检查函数,依次判断是否存在D>=Dmax、C>=Cmax;若D>=Dmax或C>=Cmax,则拒绝创建子后台任务,并抛出错误;若D<Dmax和C<Cmax,则创建新的子后台任务。3.根据权利要求1所述的用户自定义后台任务创建方法,其特征在于,所述后台任务的最大深度Dmax为10,最大广度为1000~10000。4.根据权利要求1所述的用户自定义后台任务创建方法,其特征在于,所...
【专利技术属性】
技术研发人员:蒋烁淼,周逸灵,
申请(专利权)人:上海驻云信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。