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、系統資源是否夠用,是否能夠承載異步處理方式(比如,內存是否夠用,在系統壓力很大的時候,系統資源分配
          均衡?)?
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM