当前位置: 首页 > news >正文

网站开发风险协议厦门协会网站建设

网站开发风险协议,厦门协会网站建设,雅安公司做网站,兰州搜索引擎推广最近#xff0c;我们正在开发一个监控仪表板#xff0c;我们想要ping几个第三方服务器#xff0c;只是为了检查它们的可用性#xff0c;或者我们想要调用健康检查。我们正在对服务器进行一系列api调用#xff0c;这些服务器的IP#xff0c;用户名和密码被外部化为环境变量…最近我们正在开发一个监控仪表板我们想要ping几个第三方服务器只是为了检查它们的可用性或者我们想要调用健康检查。我们正在对服务器进行一系列api调用这些服务器的IP用户名和密码被外部化为环境变量。然后是我们的负载均衡器抛出HTTP 504(网关超时)的挑战因为这些请求花了很多时间来返回结果。因此我们继续使用Callable和Future同时进行这些调用以减少所需的时间。在开发多线程应用程序的传统方式中我们创建线程并为其提供Runnable任务。Callable与Runnable非常相似它有一个细微的区别它可以返回结果或抛出异常而Runnable的run方法的返回类型为void。Runnable runnable new Runnable() {Overridepublic void run() {// this can neither return the result nor throw an exception}}但是Callable可以返回任务的结果并且可以抛出异常。您也可以指定结果类型。为简单起见我把它作为String但只要call()方法返回它它就可以是任何复杂的对象。Callable callable new Callable() {Overridepublic String call() throws Exception {return this can return output OR can throw Exception;}};既然您有Callable或任务您需要能够运行该任务以获得输出。您可以使用ExecutorService使用它的submit()方法运行任务或使用invokeAll()运行多个任务 您可以在其中提交可调用任务的集合。现在是有趣的部分submit()的返回类型是Future 其中T是输出(String如上例所示)invokeAll()的返回类型是List Future表示异步计算的结果。Java提供了检查计算是否完成等待它完成或从中检索结果的方法。(它非常类似于javascript承诺如果这使它易于理解)。因此为了获得未来的结果我们只需要调用get()就可以了ExecutorService executorService Executors.newFixedThreadPool(10);// callable from above codeFuture future executorService.submit(callable);String output future.get();下面是完整代码public class HealthCheckService {private HttpHandler httpHandler;private Config config;private ExecutorService executor;public HealthCheckService(HttpHandler httpHandler,Config config) {this.httpHandler httpHandler;this.configuration configuration;int size config.servers.size();this.executor Executors.newFixedThreadPool(size);}public List getHealthCheck() throws Exception {List tasks prepareTasks(config.uri);List futures executor.invokeAll(tasks);List output new ArrayList();for (Future future: futures) {output.add(future.get());}return output;}private List prepareTasks(String api) {List tasks new ArrayList();for (String server: config.servers) {tasks.add(() - httpHandler.getStatus(api));}return tasks;}}
http://wiki.neutronadmin.com/news/361471/

相关文章:

  • 网站做支付功能难吗在线图片编辑器官网
  • 网站地图做关键词排名厦门网络推广外包
  • 点击网站出现微信二维码的链接怎么做做网站需要多少带宽
  • 网站 实施廊坊网站排名优化价格
  • 游戏卡充值可以做网站吗中国台州网
  • 图片展示网站模板山东青岛网站建设公司
  • 网站创建方案论文网站不用工具开发建设
  • 做校园文化的网站企业网站备案不通过
  • 肇庆市电商网站建设价格大学生创新创业大赛获奖名单
  • 长沙网站排名提升做教育的网站
  • 大理悦花轩客栈在哪些网站做推广品牌公司
  • 建站公司网站用什么好seo网站建设是什么意思
  • 攻击静态网站帝国织梦wordpress
  • 做自己的网站多少钱百度sem竞价
  • 工体网站建设公司百度推广开户费用多少
  • 怎么建设自己网站(儿童)步骤北京商会网站建设
  • 电商网站开发语言用心做的网站
  • 一起学网站培训心得码支付wordpress用不
  • 备案信息 网站名公司网站转微信小程序
  • 网站建设需求分析调研表黄冈人才网最新招聘
  • 在网上怎么做网站重庆做石材的网站
  • 企业手机建站系统单网页网站源码
  • 小制作小灯笼seo好找工作吗
  • 电脑上建设银行网站打不开广东seo网站设计营销工具
  • 备案做电影网站吗宣传册制作
  • 网网站设计不要轻易注册一家公司
  • 海南公司网站建设dw网页编辑器
  • 聚焦伟业网站怎么做推广做杂志一般在哪个网站找感觉
  • 网站怎么做备案号超链接永清县建设局网站
  • 慈溪市建设局网站目前网站类型主要包括哪几种