
cloudflare 的 worker 和 vercel 里都有一个 waituntil 函数,这个函数可以在 http 请求返回后继续执行异步函数。 但是 aws lambda 里好像没有这种函数,该怎么实现这个效果呢
1 billzhuang Oct 2, 2024 via iPhone 各个语言自带的异步不行么 |
2 rizon OP 补充一下忘了说了。我是 nodejs 。 因为 http 请求返回后函数就会被直接终止了。所以才需要这个东西,在接口返回数据后依然继续运行。 |
3 crazywind Oct 2, 2024 lambda 只有在你代码执行完后才终止,你 hppt 请求做个阻塞,数据返回后直接运行不行吗? |
5 rizon OP @crazywind 哦,不好意思我理解错了。你的意思是 http 请求结束后,继续阻塞运行是吧。 我也想这样,但是不知道 nodejs 里怎么做到 |
6 crazywind Oct 2, 2024 直接在 http 请求后面加代码就行了 |
7 honk Oct 2, 2024 via Android |
8 alansfinal Oct 2, 2024 http response 返回以后 lambda function 就终止了,想实现后台任务可以看这篇 https://aws.amazon.com/blogs/compute/running-code-after-returning-a-response-from-an-aws-lambda-function/ |
9 rizon OP @alansfinal 靠谱啊兄弟,感谢。 然后再问一句,如果是腾讯或阿里云函数怎么做呢 |
10 Belmode Oct 2, 2024 via Android 这种一直后台运行,消耗的 GBS 岂不是海量的 |
11 jenrey Oct 2, 2024 [在 API Gateway 中设置后端 Lambda 支持异步调用]( https://docs.amazonaws.cn/en_us/apigateway/latest/developerguide/set-up-lambda-integration-async.html) |
12 wudiiiii Oct 2, 2024 把你的异步函数写在另一个 lambda 里,调用一下不就完了 |
13 mrcotter2013 Oct 2, 2024 一般在 lambda 里直接调用另一个 lambda 需要等待返回的结果,如果需要执行其它异步处理可以使用 SNS 或者 SQS 去触发 |
14 ClericPy Oct 2, 2024 听着怎么像是用 step 拆异步,一般 serverless 尽量避免等待和空转吧,保存个上下文逻辑同步调用异步应该可以吧 |
15 yuankui Oct 3, 2024 SNS/SQS/EventBridge 先 Google 一下这三个吧,可以满足你的需求。 |