Kotlin Coroutines for Parallelism 以及我可以打开协程多长时间?

Kotlin Coroutines for Parallelism and How long i can have the coroutine open?

我需要并行命中 100 个 sqs 来轮询消息并命中另一个服务。我想象如何启动 100 个协程并且 运行 它永远如此,以便每个协程将并行访问 SQS,并根据结果,我可能会访问另一个微服务。我对像这样使用协程没有什么疑问

  1. 我能否让我的协程永远打开,即启动的协程将有一个循环永远运行以从 SQS 获取消息并调用不同的微服务。
  2. 我的协程是否有可能被杀死(我有适当的 try/catch 用于在我执行此类非结束操作时从微服务和 SQS 抛出的异常,如果是这样,它是如何通过 Kotlin 处理的.
  3. 有没有其他方法可以实现许多这种并行性?我的应用程序是 Kotlin/Spring 启动应用程序。

有人可以指导这个场景吗

  1. 是的,没有什么能阻止你永远拥有协程运行。

  2. Kotlin 协程基础架构中的任何内容都不会想要终止您的协程。

我认为你问的问题很容易回答,但不一定切入你正在做的事情。 运行ning 作业的运行时间在很大程度上取决于更广泛的基础设施,要问的主要问题是关于执行环境的容错能力。