首页 > 其他分享 >CALL function IN BACKGROUND TASK

CALL function IN BACKGROUND TASK

时间:2022-10-14 20:39:19浏览次数:54  
标签:function 返回 逻辑 接收数据 处理 TASK CALL 执行

做接口的时候,经常会遇到类似的场景:

从第三方接收数据,存到本地log表。然后针对这些数据做一些逻辑处理,比如创建单据等。


但是这些处理结果不需要返回给第三方。只要接收到数据并保存的自建表了,那给它返回一个成功标记即可。


这个时候,如果把接收数据 和 根据数据的逻辑处理 一起同步执行完再返回给第三方结果肯定是不合适的。



所以可以考虑下面的方式。


首先是把根据接收数据逻辑处理的部分封装到function中。

接收 保存数据后,调用这个逻辑处理的function时,起用后台job模式,这样就会提高接口的效率,不用再等function中逻辑处理完才能返回。


demo:

首先建一个function:

CALL function  IN BACKGROUND TASK_数据

然后代码随便写了

CALL function  IN BACKGROUND TASK_依赖关系_02

写完直接打一个外部断点。


然后写个程序:

CALL function  IN BACKGROUND TASK_建表_03

直接点击执行。

会发现先得到执行结果后,弹出一个debug界面

CALL function  IN BACKGROUND TASK_建表_04

这就实现了异步。在不影响执行结果的情况下,提高了执行速度。


这里要特别注意的是。函数本身必须是 可远程调用模式,另外必须使用commit work。不提交事务不能触发。



另外还有一种场景是,在增强中,根据过程中的数据需要做什么操作,而这个处理跟目前正在进行的操作没有依赖关系。也可以使用这个来提高执行的速度。


但是增强中使用的话,需要注意什么?自己考虑下吧





标签:function,返回,逻辑,接收数据,处理,TASK,CALL,执行
From: https://blog.51cto.com/u_15680210/5757900

相关文章

  • WDA DEMO 11 根据BAPI/Function创建WDA
    货铺QQ群号:834508274进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合不修改昵称会被不定期踢除,谢谢配合事先声明下,本......
  • TR 已经释放 task未释放的问题
    修改代码的时候,发现个问题TR已经释放,但是task没释放,是17年的TR,历史遗留问题。当然这个TR下的对象也没传到生产机。我对比了下版本,跟生产机版本一致,如果不一致,后续调整时需要......
  • Muduo库之WeakCallback、Singleton
    WeakCallback在WeakCallback.h文件中定义了模板类WeakCallback,在其模板参数中,有一个可变模板参数ARGS,用以指示回调函数的参数。在类内部,定义有两个成员变量,分别是ob......
  • Argument data type text is invalid for argument 1 of replace function
    今天给webapi添加了搜索,结果数据库显示了这个错误,Argumentdatatypetextisinvalidforargument1ofreplacefunction查了一下发现是字段类型ntext的问题,解决办法......
  • Containerd-1.6.5 命令空间和task使用
    一、命令空间每个顶级配置块的命名都是plugin."io.containerd.xxx.xxx.xxx"这种形式,其实每个顶级配置块都代表一个插件。其中io.containerd.xxx.xxx表示插件类型,xxx后面......
  • task7.c
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>intmain(){intanswer;charwords[5000];printf("网课学习让一些人欢喜一些人......
  • task5.c
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){intage1,age2;chargender1,gender2;scanf("%d%c%d%c",&age1,&gender1,&age2,&g......
  • task6.c
    #include<stdio.h>intmain(){charans1,ans2;printf("每次课前认真预习、课后认真复习了没有?(输入Y或y表示有,输入N或n表示没有):");ans1=getchar();......
  • task4.c
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>intmain(){doublex,y;charc1,c2,c3;inta1,a2,a3;scanf("......
  • #yyds干货盘点#今天聊聊JS的Function
    Object.prototype是原型的创造者,任何原型都源自它;而Function.prototype是仅次于Object.prototype的存在,它是内置构造函数的创建者,任何构造函数都源自它。​Function(构......