后台任务接口介绍
客户需求:点击按钮后会执行耗时操作,长达数小时,如何保证不超时。
解决方案:使用后台任务
1. 创建后台任务插件,继承IComputeTaskExecutor接口即可。
2. 用如下代码新增后台任务。
Context ctx = null; // 数据库上下文,请准备好 string title = string.Format("结算组织[({0}){1}],正在进行核销", settOrgNumber, settOrgName); // 任务的标题 long userId = ctx.UserId; // 发起任务的用户 object para = null; IBackAppService server = Kingdee.BOS.App.ServiceHelper.GetService<IBackAppService>(); ComputeTask task = new ComputeTask(); task.BOSContext = ctx; task.OriginatorId = userId; task.ExecutorType = typeof(TaskExecutor); // IComputeTaskExecutor 的实现类;执行实际计算 task.Title = title; Dictionary<string, object> dict = new Dictionary<string, object>(); dict.Add("MatchParameters", para); // 允许自定义参数,传递给实际执行计算的类 task.Properties = dict; // 自定义参数字典,必选 task.Status = ComputeStatus.Ready; // 任务状态,提交任务时,必须为Ready task.Priority = ComputePriority.Immediately; // 任务优先级:立即执行 task.SerializeProperties(); // 序列化自定义参数字典:可以不用执行,计算服务存储任务时,会自动执行 server.SubmitTask(ctx, task); // 提交任务 string taskId = task.ComputeId; // 任务成功提交,记录下任务的Id,已备后续随时查询任务进度...
3. 查看我的后台任务。
大佬,为啥我用这个在提交任务的时候会报task为null的错
后台任务接口介绍
客户需求:点击按钮后会执行耗时操作,长达数小时,如何保证不超时。解决方案:使用后台任务1. 创建后台任务插件,继承IComputeTaskExecut...
点击下载文档
本文2024-09-16 17:19:55发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-15012.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章