gpt4 book ai didi

kotlin - 具有结构化并发和协程的“Fire and forget”

转载 作者:行者123 更新时间:2023-12-02 13:22:17 25 4
gpt4 key购买 nike

我有一个看起来像这样的小终点

val numbers = it.bodyAsString.parseJsonList<Numbers>()
processedNumbers = numberService.process(numbers)
GlobalScope.launch {
sqsService.sendToSqs(processedNumbers)
}
it.response.setStatusCode(204).end()

我之所以使用GlobalScope的原因是,生产者只需要在处理完数字后就需要确认,因此我试图开火并在平行的轨道上忘记以便能够立即响应生产者

使用结构化货币进行“最佳实践”的方式是什么?我是否应该创建自己的范围(例如fireAndForgetScope而不是GlobalScope)?

最佳答案

正如您已经猜到的,在这种情况下,创建自己的范围将是一个很好的解决方案。
您可以将其定义为 Controller 的成员:

private val bgScope = CoroutineScope(newFixedThreadPoolContext(4, "background-tasks"))

然后,用法与您正在执行的操作非常相似:
val numbers = it.bodyAsString.parseJsonList<Numbers>()
processedNumbers = numberService.process(numbers)
bgScope.launch {
sqsService.sendToSqs(processedNumbers)
}
it.response.setStatusCode(204).end()

关于kotlin - 具有结构化并发和协程的“Fire and forget”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53619118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com