1

我想知道 Quarkus 中每个请求运行后台任务的良好做法是什么。

像这样的东西:

    @POST()
    @Path("v1")
    public Uni<Response> buildSomething() {
        // start a thread to build things in the background
        // when completed, save the id in DB

        // return immediately
        return Uni.createFrom().item(Response.accepted().build());
    }

    @GET()
    @Path("v1")
    public Uni<List<Long>> getSomethingThatHasBeenBuilt() {
        // fetch ids from DB
        return fetchIdsFromDB();
    }

我希望我可以做一些像 Go 例程这样的事情,我可以为此设置超时并记录错误。我怀疑有人可能会注入一个 vertx 实例并在工作线程池中执行任务,但我不知道如何实现。

4

0 回答 0