当前位置: 首页 > 面试题库 >

RPC是否具有超时机制?

齐磊
2023-03-14
问题内容

如果RPC没有超时机制,如果它试图调用已关闭服务器的RPC方法,该如何“杀死” RPC调用?


问题答案:

您可以使用渠道实施超时模式:

import "time"

c := make(chan error, 1)
go func() { c <- client.Call("Service", args, &result) } ()
select {
  case err := <-c:
    // use err and result
  case <-time.After(timeoutNanoseconds):
    // call timed out
}

select会阻塞,直到client.Call返回或timeoutNanoseconds经过。



 类似资料:
  • 问题内容: 我正在使用Wget通过cron通过以下命令运行PHP脚本: 该脚本最多需要5-6分钟来进行处理。WGet是否会等待它并一直提供它所需的时间,还是会超时? 问题答案: 根据wget的手册页,有两个与超时有关的选项-默认读取超时为900s-所以我说是的,它可能会超时。 这是有问题的选项: 将网络超时设置为秒秒。这等效于同时指定, 和和 。 对于这三个选项: 将DNS查找超时设置为秒秒。 在

  • 我想开发一个android应用程序,它总是在收听可播放的广告,对信标有用。该应用程序具有活动和后台服务。所有BLE操作都在服务中完成,此服务在找到特定mac时执行REST post: ... mBluetoothAdapter.startLeScan(this);... public void onLeScan(最终BluetoothDevice设备,最终int rssi,字节[]扫描记录)。。。

  • 问题内容: 我正在写a 来检查许多文件中某些变量的存在以及检查那些变量的某些值的存在。但是,我的代码由于遇到无效的变量名而停止执行。 我知道我将Java和Stata编码混合在一起,这是完全不合适的,但是有什么办法可以执行以下操作: 问题答案: 简短的回答是。稍长一点的答案是,通过类比猜测语法可能成功的可能性很小。最好阅读Stata的文档,例如,从略读[P]手册中的主要条目开始。 这里被困的问题是不

  • 在编写高度可移植的代码时,我正在搜索C90标准以寻找需要注意的事情,同时对编译器供应商的善意不太信任,并且假设如果我做错了事情,我的软件有时可能会杀死某人。假设我有点偏执。 目前我正在考虑“翻译限制”(5.2.4.1 ANSI/ISO 9899:1990)。正如标准和中所指出的:“ansi C是否对程序中的外部变量数量进行了限制?”,这些是符合标准实施的最低要求。另一方面,这意味着,任何实现都不需

  • 问题内容: 你如何提示用户进行一些输入,但在N秒后超时? Google指向上与此有关的邮件线程,但似乎无法正常工作。无论是还是,发生超时的语句总是可以得到: 不知何故,除了失败。 问题答案: 你链接到的示例是错误的,并且异常实际上是在调用警报处理程序而不是读取块时发生的。最好试试这个:

  • 问题内容: 我正在利用的魔力。 但是,我想知道是否有人玩过超时设置? 我知道这基本上是决定请求的本地时间,但是如果达到超时时间,它可以触发任何内容吗?还是只是停止听别人的回应? 通过阅读jQuery网站,我可以看到没有传递任何参数,因此这似乎是一种具有一种功能的简单设置。没关系 但是,如果超时,我想触发警报或某些功能。在这种情况下,我可以看到错误设置没有被触发。 这是我的片段: 有谁知道如何超时工