Java 使用DropWizard处理长请求
我有一个简单的DropWizard服务,我想要一个RESTAPI来启动一个长时间运行的处理任务—CPU和I/O绑定。REST调用不会等待任务完成,将通过轮询/长轮询/web套接字发出通知 现在,我更愿意在Dropwizard中完成这项工作,并将所有内容保存在一个可部署的JAR中。我有什么选择Java 使用DropWizard处理长请求,java,jetty,dropwizard,Java,Jetty,Dropwizard,我有一个简单的DropWizard服务,我想要一个RESTAPI来启动一个长时间运行的处理任务—CPU和I/O绑定。REST调用不会等待任务完成,将通过轮询/长轮询/web套接字发出通知 现在,我更愿意在Dropwizard中完成这项工作,并将所有内容保存在一个可部署的JAR中。我有什么选择 更新:我感兴趣的是关于在Dropwizard中运行长时间运行的任务的选项是什么,它作为单个jar部署,没有外部依赖关系。只是产生一个新的线程?假设这样的请求很少,它可能会工作,但应该有更好的选择。您可能希望
更新:我感兴趣的是关于在Dropwizard中运行长时间运行的任务的选项是什么,它作为单个jar部署,没有外部依赖关系。只是产生一个新的线程?假设这样的请求很少,它可能会工作,但应该有更好的选择。您可能希望使用托管资源: 设置线程池。然后,您的初始请求可以将消息推送到队列中。线程池可以从队列中提取消息并异步处理它们
您可以提供一个额外的端点,以便客户端可以获取异步进程的当前状态。stackoverflow实际上是针对特定问题提供帮助,而不是帮助您选择设计。这就是说,考虑WebHook.Joakim-EdRy-增加了更多的细节到我原来的问题,希望现在更有意义。你能提供一个例子吗?网络插座对于这个案例是必要的吗?这是一个非常大的项目,举个例子,您需要编写前端和后端组件,后端需要处理多个请求。具体是哪一部分?我相信如果你到处搜索,肯定会有很多例子。WebSocket不是“必要的”——但这取决于你的UI。您可以重新加载部分屏幕以更新状态。链接已断开。更新到?