我有一个在数据库上运行查询的API。由于查询执行时间可能很长,比如3分钟到10分钟,我的负载平衡器返回“上游请求超时”,但我可以看到查询已提交到数据源,但对最终用户来说,它显示了错误的消息。如何应对这种情况?
我的职能
@PostMapping("/run/{QueryId}")
public void runQuery(@PathVariable String QueryId) {
// This method takes long time
querySchedulerService.runQuery(QueryId);
}
控制器:
class SomeController{
@PostMapping("/run/{QueryId}")
public ResponseEntity<Void> runQuery(@PathVariable String QueryId) {
// This method takes long time
querySchedulerService.runQuery(QueryId);
return new ResponseEntity<>(HTTP_STATUS.ACCEPTED);
}
}
服务:
@Service
class QuerySchedulerService{
@Async
public void runQuery(Query query){
// Do somthing
}
}
通过在主应用程序
类中添加
@EnableAsync
注释,可以使用@Async
注释
每次调用
runQuery
时,它都将在新线程中运行。
@EnableAsync
class Application{
}
我们使用RESTEasy编写了Web API。我们希望以Google Batch请求处理的方式为Batch请求处理提供支持。 以下是目前使用的方法, 我们有一个过滤器,它接受传入的多部分请求。然后,此过滤器创建多个模拟请求和响应对象,然后调用链。doFilter使用这些模拟请求。 MockHttpServletResponse类返回一个虚拟的OutputStream,它将通过TearayoutPu
我使用的API根据成功/失败有不同的json响应。它们不是HTTP错误,而是json主体中的代码。 我添加了一个,但感觉我只是把事情放在一起,忽略了问题。这是一种可接受的或“pythonic”的方式来处理类似的不同响应吗?另外,如果存在状态,我是否正确地使用来跳过该行?
我正在使用OkHttpClient向网站的网页url发送请求,并通过以下方法存储它提供的cookie,我仅从stackoverflow获得该方法。 有必要存储cookie,否则网站会将请求重定向到超时页面。 然后,我看到页面的html来检查我是否到达了正确的网址。 现在,我以类似于网址“www.example.com/loginPage”的方式制作另一个请求变量,并尝试查看html,但它将我重定向
基于名字的虚拟主机 Nginx首先选定由哪一个虚拟主机来处理请求。让我们从一个简单的配置(其中全部3个虚拟主机都在端口*:80上监听)开始: server { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_nam
前言 Networkclient的poll函数: 其实是不断去查询请求是否超时 对 因为长期没有收到请求,设置状态为disconnect,然后希望重新建立连接
1)手机端/电脑端:当有新人申请时,系统通知会推送申请,选择同意或拒绝。 2)企业管理-首页-处理新人申请或人员管理-人事管理-新人申请