问题标签 [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.

0 投票
1 回答
144 浏览

rest - Informatica BDM - 如何重试“REST Web 服务使用者”?

我有一个Informatica BDM 系统(请注意大数据管理,而不是 Power Center),并且在与第三方 Web 服务通信时遇到断开连接的问题。这会导致 REST Web 服务转换失败,这反过来会终止我们的批处理作业。

我希望每个REST 调用都可能先重试几次,而不是让整个工作失败。

我查看了文档,但没有看到设置重试REST Web 服务使用者转换的选项。我错过了吗?还是必须以其他方式围绕它构建一个重试循环?

0 投票
0 回答
319 浏览

apache-spark - 我们有 Spark-SQL 的重试配置吗?

我们有 Spark-SQL 的重试配置吗?

我们有用于 spark-submit 的“spark.yarn.maxAppAttempts”。我们对 spark-sql 有类似的 conf 吗?

0 投票
0 回答
251 浏览

java - 如何在我的服务中尝试重试 AWS lambda?

后端开发新手。

我有一个执行步进函数的服务,该函数本质上是一个触发 lambda 的倒数计时器步进函数。

这个 lambda 从 step 函数中获取一个 url 来访问我的服务的端点。

如果我的端点没有成功完成必要的工作(通过任意数量的潜在故障),我如何与 lambda 进行通信以再次尝试访问我的端点。

0 投票
1 回答
573 浏览

java - Hi-Lo Guessing Game - 限制用户输入的尝试次数和再次播放逻辑

我是 Java 编程新手,正在上大学课程,我的任务是创建一个 Hi/Lo 猜谜游戏。游戏为用户提供最多 5 次尝试输入 1 到 100(含)之间的数字。程序必须提供答案是否太低、太高或正确的逻辑反馈。程序必须提供在获胜或 5 次尝试失败后重新玩的选项。

我已经重新创建了这个程序大约 10 次:(。我无法让他的逻辑按照上面的说明工作。我无法在 5 次尝试时停止尝试......而且我无法让程序执行新游戏。

任何帮助是极大的赞赏。我花费了无数个小时来编写和重写这段代码,得到了许多不同的结果——但不是预期的结果。

这是我第一次发帖,如果发帖格式不正确,我深表歉意。

我浏览的论坛和示例比我愿意承认的要多,而且我审查并尝试实施的所有代码都没有给我带来将用户输入限制为每次尝试 5 次以及能够再次播放多次的结果。

这是我的代码:

0 投票
0 回答
134 浏览

c# - 如何在使用 SqlAzureExecutionStrategy 执行时获取当前重试次数

我目前正在使用 SqlAzureExecutionStrategy 在我的数据库事务中实现重试登录。

这是从 SqlAzureExecutionStrategy 继承的自定义策略:

我正在使用这种自定义策略,例如:

  1. 我想在 Execute 方法中打印当前的重试次数。甚至可能吗?这是为了记录目的。要查看哪个重试产生了最佳结果等。请在下一次重试之前随意建议最佳重试计数和 maxDelay。

  2. 在 ShouldRetryOn 方法中,定义要重试的异常的最佳方法是什么?我希望它可以将异常作为案例进行切换,并在每种情况下都返回 true。

0 投票
0 回答
2770 浏览

ssh - Ansible ssh 失败并出现错误:无法将数据发送到远程主机

我有一个 ansible playbook,它在远程主机“10.8.8.88”上执行 shell 脚本的次数与作为参数提供的数字文件一样多

剧本如下所示:

这适用于较少的文件,例如 10 到 15 个文件。但我碰巧在论点中有 145 个文件。

这是执行中断并在中途播放失败并显示以下错误消息的时间:

我有最新的 Ansible,ansible.cfg 中的“管道”和“ssh”设置是默认设置。

我有以下问题。

  1. 我该如何解决上述问题?

  2. 我想这可能是由于网络问题。是否可以对远程服务器运行无限 ssh ping 以进行测试以查看 ansible 命令行是否中断?这将帮助我证明我的情况。我正在寻找一个使用 ssh 不断 ping 远程的示例命令。

  3. 如果发生此类故障,可以强制 ansible 重试 ssh 连接几次,以便它可以在重试期间连接。如果是这样,我会很感激可以在 ansible-playbook 代码中的何处以及如何将其设置为 vars 变量,而不是在 ansible.cfg 文件中? https://docs.ansible.com/ansible/2.4/intro_configuration.html#retries

类似于:

非常感谢 !!

0 投票
1 回答
151 浏览

c# - 如何重试先前的异步任务

在开始其他任务之前,我需要进行一系列异步调用,其中一些依赖于其他任务的完成。我想为这些调用重试逻辑,因为它们都是对外部资源的调用。这是我们的原型代码,没有任何异常处理或重试逻辑:(这可以完成工作,但没有任何弹性或错误处理)。经过相当多的研究,我需要一些帮助以一种有弹性的方式将它们组合在一起。

0 投票
2 回答
2545 浏览

c# - 在 C# 中使用 Polly,我可以等到时间跨度过去或任务终止后再重试吗?

我正在尝试在 C#中使用Polly包。我想运行一些代码,然后,如果失败,请等待并重试。目前我的循环看起来与此类似:

即:等待 10 秒或直到这些任务完成源之一收到信号并终止。然后重试。

我想做的是这样的(Polly API 不支持):

有可能用波莉做这样的事情吗?我可以等待 TimeSpan 以外的任何东西吗?

关于我在上面的例子中等待的两个任务:一个任务是取消,表明整个事情应该关闭。另一个是“唤醒连接尝试”任务,其终止指示“此对象的状态已更改;尝试再次调用它”。在这两种情况下,我都希望我的循环立即继续下一次迭代,而不是等待超时过去。

目前等待超时并不是那么糟糕,因为它只有 10 秒,但如果我将其更改为指数退避,那么突然超时可能会很长。因此,我希望中断超时并直接进行下一次迭代。

注意:我的重试循环不一定要遵循异步等待模式。如果等待部分是同步和阻塞的就可以了。我只想能够使用任务完成源取消等待。

0 投票
0 回答
637 浏览

java - 在 Java 上重试请求的最优雅方式

我正在基于 ElasticSearch 用 Ja​​va 构建自己的 ES 客户端RestHighLevelClient

不幸的是,RestHighLevelClient没有像我想实现的Python 版本那样的重试策略。

如果不对我定义的每个请求 API 发送垃圾邮件 try/catch,是否有任何优雅的方法来实现这一点?

0 投票
2 回答
946 浏览

scala - Scala重试期货序列,直到它们全部完成

在 scala 中,您将如何编写一个函数,该函数接受一个 Futures 序列,运行它们,不断重试任何失败并返回结果?

例如,签名可能是:

可配置超时的奖励点,此时函数失败并且被调用者可以处理这种情况。
如果该错误案例处理程序可以接收失败的期货列表,则奖励积分。

谢谢!