问题标签 [self-healing]

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 投票
2 回答
341 浏览

php - OO 模式和/或“自我修复”的结构化方法?

我参与的许多 Web 应用程序项目都达到了

  1. 应用程序希望持久化数据采用特定格式

  2. 如果持久化的数据偏离该格式,应用程序将停止

  3. 旧的“神秘代码”以错误的格式保存数据

这通常会导致应用程序开发人员将模型代码与大量验证条件混为一谈。那是

是否有更好的模式和/或系统来处理这些情况,并且所述模式和/或系统不依赖于让开发人员为每个版本编写完美的迁移脚本和/或验证代码?我特别感兴趣的是其他开发人员如何处理这些(根据我的经验)常见的长期问题。

专门寻找 LAMP Stack/PHP 解决方案,但来自其他常见中间件语言/平台(ruby、python 等)的解决方案和方法非常受欢迎。

0 投票
1 回答
773 浏览

registry - MSI 自我修复会恢复注册表项吗?

假设 MSI 包作为其安装的一部分写入 HKCU 注册表分支:

如果应用程序随后更改了这些值,或者这些值以其他方式更改,MSI 的自我修复机制是否会将这些值恢复为 MSI 所说的值?

0 投票
1 回答
131 浏览

exception-handling - Biztalk exception-自我修复orchestartion

我们的主编排有多个子编排。所有根编排都是事务类型:无,因此所有子编排也具有相同的性质。现在,任何异常都会在主编排的父范围内被捕获,并且我们有一些步骤,例如日志记录。使用来自 App SQL 的消息激活编排。所以每次发生异常时,比如说由于间歇性的事情,比如无法连接到 Web 服务。我们以后去手动重新触发。

我正在考虑将 orch 修改为自我修复,例如从异常捕获块中它根据说明问题的条件重新初始化消息,问题是间歇性的。像 app issue-null reference 这样的东西,我们不想重新发送消息,因为 orch 永远不会工作。

有一个称为补偿的概念,但这是基于事务的 orch-n 步骤,如果任何 1 失败,则执行 m 其他步骤(这将执行替代操作或清理)。

我唯一的想法是根据异常中的关键字进行查找并决定重新发送消息。但我希望 some1 挑战这一点或提出更好的方法

0 投票
3 回答
315 浏览

language-agnostic - 哪些语言特性可以消除一整类错误?

我经常看到有人声称编程语言的特性可以消除一整类错误。

例如,我看到声称:

  • 强类型系统消除了由于使用类型不支持的特性而导致的错误类别。

  • 自动内存管理消除了与为对象/结构分配正确内存量相关的错误类别。

  • 强制变量初始化消除了空指针或空引用错误。

  • 不可变数据结构消除了由于不了解更改可变状态的影响而导致的错误类别。

我并不是要找出上述主张是否正确,而是编制一份足够具体的此类主张清单,以供我研究和评估自己。

据称还有哪些其他特定功能可以消除一整类错误?

是否有一个通用的原则或理论来识别这样做的特征,或者识别这些特征的缺失?

(请注意,我包括这些明显含糊或主观的主张,无论是否真实:

  • 面向对象的编程提高了可重用性。

  • 动态语言的编程速度更快。

  • 有意义的空白使程序更干净。)

0 投票
3 回答
5512 浏览

apache-spark - Apache spark 作业立即失败,没有重试,设置 maxFailures 不起作用

我正在我的计算机上本地测试 Apache Spark 上的网络抓取/抓取程序。

该程序使用了一些 RDD 转换,这些转换采用了偶尔失败的 volatile 函数。(该函数的目的是将 URL 链接转换为网页,有时它调用的无头浏览器只是停电或过载 - 我无法避免这种情况)

我听说 Apache Spark 具有强大的故障转移和重试功能,任何不成功的转换或丢失的数据都可以从它可以找到的任何资源从头开始重新计算(听起来很神奇吧?)所以我没有在我的代码。

这是我的火花配置:

不幸的是,在大多数阶段和个别任务成功后,这项工作失败了。最新登录控制台显示:

看起来Spark在失败一次后只是懦弱地放弃了。如何正确配置它以使其更坚韧?

(我的程序可以从https://github.com/tribbloid/spookystuff下载,对于稀缺和杂乱无章的代码/文档,我只是开始它几天)

ADD:如果你想自己尝试,下面的代码可以演示这个问题:

应该注意的是,相同的 IllegalStateException 在这篇文章中被重试了 32 次: Apache Spark Throws java.lang.IllegalStateException: unread block data

0 投票
2 回答
1738 浏览

linux - Linux自愈脚本检查某些进程

我是 Linux 脚本的新手,我需要帮助来创建一个脚本,检查服务器上的一些已安装进程,如果其中一项服务没有运行,请重新启动它,然后再次检查这些服务,如果有任何错误,请使用 echo 打印如下:

如果上述任何服务停止,则运行重新启动命令的脚本。

感谢有人帮助我从这个脚本开始

问候,

0 投票
0 回答
68 浏览

scripting - 集中式日志记录中的自我修复

所以我有我的集中式日志系统设置。但我目前正在做的事情是我系统中的自我修复。因此,假设通过该服务已关闭的日志出现了一些错误。所以我需要一个机制/开源工具,我可以使用它编写一个脚本,当出现这种类型的错误时,运行这个脚本,瞧,服务重新启动/开始工作正常。谢谢

0 投票
2 回答
1126 浏览

web-config - 网络配置错误

VS 2015、.Net Framework 4.5.1、本地 IISExpress 和 Azure Web App

尝试遵循以下自愈配置设置:https ://azure.microsoft.com/en-us/blog/auto-healing-windows-azure-web-sites/

错误:元素“system.webServer”具有无效的子元素“监控”

当在 VS2015 中本地运行和部署到 azure Web 应用程序时,该应用程序编译但在运行时失败。

0 投票
2 回答
1772 浏览

docker - 领事观看重要的领事检查

所以我有一个 consul check 来监视一个容器,并设计为在容器停止时变得至关重要。我想创建一个领事手表,它将在检查变得关键或几个关键响应之后运行脚本(例如,如果我的检查发送 5 个关键响应,我希望它运行脚本)。

这是用于我的工作检查的 json,以及我对我的手表可能是什么样子的猜测:

我需要对手表进行哪些更改才能使其正常工作?

我是否还需要使用领事事件来监视我的健康检查,然后触发运行我的/scripts/new-docker.sh脚本的领事监视(事件类型)?如果是这样,那么我将如何进行领事活动来监视我的健康检查?例如,如果这是我的领事检查、监视和事件,我需要更改什么才能使其正常工作?

0 投票
1 回答
102 浏览

python - python中的检查点以捕获运行时状态

我有一个问题要让我的代码更自愈。例如:我执行方法 1 将数据从 CSV 加载到 Vertica 数据库中。我有另一种方法 2 来检查数据库中的行数和 CSV 文件中的行数是否相同。如果行数不匹配,那么我正在考虑从调用查询的位置调用方法 2,以将数据从 CSV 加载到数据库中。

我正在考虑针对此问题的检查点策略。例如,在代码中维护通常发生错误的一些点并在其他点调用它们。

我已经尝试在 python 中使用 pickle 模块,但后来知道 pickle 只能保存对象、类、变量等。不能保存我实际执行方法的点。

我提供了一些演示代码:

我希望我的代码能够执行,以便当 mango 方法调用 apple 方法时,它必须从仅打印“mapple”的点开始执行。它不能执行整个方法。

请给我一些关于如何解决这个问题的见解。

提前致谢