后台任务接口介绍

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

后台任务接口介绍

客户需求:点击按钮后会执行耗时操作,长达数小时,如何保证不超时。

解决方案:使用后台任务

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. 查看我的后台任务。

image.webp


大佬,为啥我用这个在提交任务的时候会报task为null的错

后台任务接口介绍

客户需求:点击按钮后会执行耗时操作,长达数小时,如何保证不超时。解决方案:使用后台任务1. 创建后台任务插件,继承IComputeTaskExecut...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息