问题标签 [retry-logic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Java Couchbase SDK 的上下文中,重试是什么意思?
我在我的应用程序中使用 Java couchbase sdk。在设置DefaultCouchbaseEnvironment时,我遇到了RetryStrategy属性。现在我使用重试策略为BestEffortRetryStrategy的默认配置。根据文档
默认情况下,最大请求生命周期为 75 秒。
现在我想在这里理解的是重试在这里意味着什么。重试是否意味着在发生异常时重试请求,或者是否意味着它将重试将此请求分配给某个节点以处理请求,以防它不能并且它将继续重试 75 秒?
我正在查看我的应用程序日志中的不同异常以了解这一点,我可以看到TemporaryFailureException没有重试,我还可以看到在某些情况下RequestCancelledException在 75 秒后被抛出。假设 couchbase 重试请求以将其分配给节点以处理它,并且一旦它到达将处理此请求的节点,它实际上不会重试任何异常?
StackTrace for TemporaryFailureException-
asp.net-core - 如何重试与 ASP.NET 核心、EF 核心的乐观并发冲突?
假设我有一个实体,它在 EF 核心中配置了一个并发令牌列。当由于数据库中的数据发生更改而发生异常时,我想从干净的上下文中重试整个事务。
所有示例都使用以下模式:
该示例正在运行,但是当 DbContext 注册为范围服务并将其注入存储库并且您有更复杂的场景时,您如何处理此场景。我认为重试整个业务流程比处理冲突更容易。
什么是处理重试过程的干净方法?
python - 如何仅重试函数中产生错误的行
这很难解释,但我想知道是否有一种方法可以反复重试产生错误的代码行,直到它起作用。例如说我有代码:
我想进行某种错误处理,它会持续运行第 2 行直到它工作(不重新运行第 1 行),然后继续执行其余的函数。另外,我希望错误处理在函数之外,而不是改变函数本身。
我希望这是有道理的,并感谢您的帮助:)
android-workmanager - java - 如何在Java中为Android WorkManager创建带有重试逻辑的PeriodicWorkRequest?
有什么方法可以将我的 MainActivity 中的 workInfo.getRunAttemptCount() 传递给扩展 Worker 的类?因此,如果请求不成功,我可以跟踪重试计数并重复 3 次迭代,并在 3 次重试后在 doWork() 中调用 RESULT.failure() 状态。
代码 :
主要活动
c# - 如何在 C# MS Framework 中实现重试机制
我们想要实现一个重新尝试执行失败的测试脚本的功能。这需要在解决方案或框架级别实现,以便所有项目都可以使用功能。以下需要注意。1. 如果测试脚本失败,将重新执行 x 次 2. X 将在 app 配置文件中配置。如果设置为 0,则不会重新尝试 3. 在下方范围报告中的状态之后将添加一列“重新尝试次数”,这将指示在脚本最终通过/失败之前进行的重新尝试次数。
node.js - Google 电子表格 API(节点 js)-为错误“服务当前不可用”添加重试
我有一个完整的堆栈应用程序,它接受用户的输入并使用他们的 API 服务将数据发布到谷歌电子表格。
该服务一直运行良好,直到几个月前来自客户端的请求之一未能发布并给我们错误:2020-03-09T11:42:49.035293+00:00 app[web.1]: API 返回错误:错误:该服务当前不可用。
经过调查,这个错误是指 503,解决方案是重试,所以我决定使用一个名为“重试”的 npm 包并将其添加到“listMajors”函数中(参见电子表格 API 示例:https://developers .google.com/sheets/api/quickstart/nodejs),像这样:
重试选项是:
昨天,我做了大约 5 次测试,其中两次给了我一个副本。
搜索日志后,我发现“重试:真”。
2020-05-14T13:46:52.070771+00:00 app[web.1]: 'Content-Type': 'application/json',
2020-05-14T13:46:52.070772+00:00 app[web.1]: 接受: 'application/json' },
2020-05-14T13:46:52.070772+00:00 应用程序 [web.1]:参数:
2020-05-14T13:46:52.070772+00:00 app[web.1]: { valueInputOption: 'USER_ENTERED',
2020-05-14T13:46:52.070773+00:00 app[web.1]: insertDataOption: 'INSERT_ROWS' },
2020-05-14T13:46:52.070773+00:00 app[web.1]: validateStatus: [Function],
2020-05-14T13:46:52.070773+00:00 应用 [web.1]:重试:真,
问题:
- Google 是否提供重试选项?如果是这样,他们有多少次重试?
- 这是为电子表格 API 编写重试代码的好方法,还是我应该做一些不同的事情(你有例子)?
在 Alessandro 的回复之后进行编辑:npm retry 使用指数退避 <--这是正确的重试方法
新 --> “添加了超时”
这会等待谷歌重试首先发生并避免重复还是只是延迟初始检查?
我昨天做了几次测试,我没有看到重复,但这并不意味着它仍然是正确的。我不是百分百确定。
c# - Polly 重试不起作用,并且不会为重试添加日志
目前,我有代码,其中 while 循环在 connection.IsConnected = true 时被卡住
因此,为此,我尝试将其替换为 Polly 重试,但使用 Polly 它不会等待并且不会添加日志
如果有人可以让我知道,我在代码中做错了什么。真的很有帮助
ansible - 错误!“重试”不是 TaskInclude 的有效属性
我的要求是stop-all
多次运行脚本(重试 5 次),直到输出ps -fu user1 |wc -l
小于 2。
我为此编写了以下 ansible 剧本:
但是,运行剧本时出现以下错误。
你能建议吗?
spring-retry - 在数据库中保持重试次数 Spring Retry
如果应用程序崩溃,是否可以使用 Spring Retry 将重试计数存储在数据库中?是否有任何内置配置?重新启动应用程序后,需要运行剩余的重试。
bash - 仅重试一次命令:当命令失败时(在 bash 中)
这里要注意命令2依赖于命令1,命令2只能在命令1之后执行
例如:
由于“命令 1”非常大,而不仅仅是此处的示例 echo 语句。我不想添加两次“命令 1”......一次在 if 条件之外,一次在 if 条件内。我希望这种逻辑以一种优化的方式,没有代码冗余。