STARTING NEW TASK 基本使用

对于starting new task 意思就是开启新的异步处理进程

业务背景:
     前期开发了一个远程调用接口,RF端 + 后台,这里RF端在准备好所有的数据之后,做提交动作,
将数据提交后台,后台接收到数据之后,开始进行功能处理(TO的确认、过账等,这两个顺序不能颠倒),
处理完成之后,进行自建表的更新,然后将结果返回至RF端。在这个过程中,牵扯到前端和后端的交互,所以就
需要考虑交互相应时间,时间过长,会导致RF端长时间得不到相应,影响用户体验
    这个时候就需要提高后台的相应处理时间,由于TO确认是针对单个 tanum 进行的,对于大批量的tanum,这
个时候没有可优化的空间,这个时候,我们把该标准function做成异步处理,会使得LES接口的相应时间减少

    异步处理机制原理,异步处理在本质上还是需要处理,只是处理的时间不再记到函数执行时间里
start new of task 的使用方法如下:
data: l_taskname type char10.
loop at it_output into ih_output .
    ..........
    l_taskname = to_confirm && sy-tabix.
    call function 'TO_CONFIRM' starting new task l_taskname
    exporting 
        ................
    importing 
        .................
    if sy-subrc <> 0.
        ..................
    endif.
endloop.

这样进行异步处理时,我们需考虑以下问题:
    1、该接口是否能做成异步处理方式?并非所有的function都能做成异步处理,原因是,该接口执行完成后,后续
          逻辑是否依赖于该接口的执行结果,如果相互之间有牵连,则不能做成异步处理
    2、进行异步处理的时候,进程会在后台开启多少?
    3、系统资源是否够用,是否能够承载异步处理方式(比如,内存是否够用,在系统压力很大的时候,系统资源分配
          均衡?)?
    

转载于:https://www.cnblogs.com/bailang-LBG/articles/4512887.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值