問題タブ [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.
php - 「自己回復」のためのOOパターンおよび/または構造化されたアプローチ?
私が関わってきた多くのWebアプリケーションプロジェクトは、
アプリケーションは、永続化されたデータが特定の形式であることを想定しています
永続化されたデータがその形式から逸脱した場合、アプリケーションはバーフします
古い「ミステリーコード」は悪い形式でデータを保持しています
これにより、通常、アプリケーション開発者は多くの検証条件でモデルコードを乱雑にします。あれは
これらの状況に対処するためのより良いパターンおよび/またはシステムはありますか?前述のパターンおよび/またはシステムは、開発者がリリースごとに完全な移行スクリプトおよび/または検証コードを作成することに依存していませんか?私が特に興味を持っているのは、他の開発者がこの種の(私の経験では)一般的な長期的な問題のクリーンアップにどのように取り組むかです。
特にLAMPスタック/PHPソリューションを探していますが、他の一般的なミドルウェア言語/プラットフォーム(Ruby、Pythonなど)からのソリューションとアプローチは大歓迎です。
registry - MSIはレジストリエントリを自己修復しますか?
MSIパッケージがインストールの一部としてHKCUレジストリブランチに書き込むと仮定します。
その後、アプリケーションがこれらの値を変更した場合、またはこれらの値が別の方法で変更された場合、MSIの自己修復メカニズムは、これらの値をMSIが指定した値に戻しますか?
exception-handling - Biztalk の例外 - 自己修復のオーケストレーション
複数のサブオーケストレーションを持つメインオーケストレーションがあります。すべてのルート オーケストレーションはトランザクション タイプ: なしであるため、すべてのサブも同じ性質です。これで、すべての例外がメイン オーケストレーションの親スコープでキャッチされ、ログ記録などのいくつかの手順が実行されます。オーケストレーションは、App SQL からのメッセージでアクティブ化されます。そのため、例外が発生するたびに、Web サービスに接続できないなどの断続的な原因が考えられます。後で手動で再トリガーします。
オーチを自己修復するように変更することを検討しています。たとえば、例外キャッチブロックから、問題が断続的であるという条件に基づいてメッセージを再初期化します。app issue-null 参照のようなものです。orch が機能しないため、メッセージを再送信したくありません。
補償と呼ばれる概念がありますが、これはトランザクション ベースの orch- 1 つでも失敗した場合はステップを実行し、他のステップを実行します (代替アクションまたはクリーンアップを実行します)。
私が持っている唯一のアイデアは、例外のキーワードに基づいてルックアップを行い、メッセージを再送信することを決定することです. しかし、誰かにこれに異議を唱えるか、より良いアプローチを提案してもらいたい
language-agnostic - エラーのクラス全体を排除する言語機能は何ですか?
私は、プログラミング言語の機能がすべてのクラスのエラーを排除するという主張をよく見てきました。
たとえば、次のような主張を見てきました。
強力な型システムは、型がサポートしていない機能を使用することによって引き起こされるクラスのエラーを排除します。
自動メモリ管理により、オブジェクト/構造体に適切な量のメモリを割り当てることに関連するエラーのクラスが排除されます。
必須の変数初期化により、NULL ポインターまたは NULL 参照エラーが排除されます。
不変のデータ構造により、変更可能な状態の変更の影響を理解していないために発生するエラーのクラスが排除されます。
私は上記の主張が正しいかどうかを調べようとしているのではなく、自分自身で調査および評価するのに十分なほど具体的なこのタイプの主張のリストをまとめています.
エラーのクラス全体を排除すると主張されている他の特定の機能は何ですか?
これを行う機能を特定する、またはそのような機能がないことを特定するための一般的な原則または理論はありますか?
(真実であるかどうかにかかわらず、次のような明らかに漠然とした、または主観的な主張は含めないことに注意してください。
オブジェクト指向プログラミングは再利用性を向上させます。
動的言語はプログラミングがより高速です。
意味のある空白は、プログラムをきれいにします。)
apache-spark - Apache Spark ジョブが再試行せずにすぐに失敗し、maxFailures の設定が機能しない
私は自分のコンピューターでローカルに Apache Spark の Web クローリング/スクラップ プログラムをテストしていました。
プログラムは、散発的に失敗する揮発性関数を使用するいくつかの RDD 変換を使用します。(この関数の目的は、URL リンクを Web ページに変換することです。ヘッドレス ブラウザが単にブラックアウトしたり、過負荷になったりすることがあります。これを避けることはできません)。
Apache Spark には強力なフェイルオーバーと再試行機能があり、失敗した変換や失われたデータは、見つけたリソースからゼロから再計算できると聞きました (魔法のように聞こえますよね?)。コード。
これは私のスパーク構成です:
残念ながら、大部分のステージと個々のタスクが成功した後、ジョブは失敗しました。コンソールの最新のログには次のように表示されます。
一度失敗すると、Spark は臆病にあきらめているようです。より粘り強くするために適切に構成するにはどうすればよいですか?
(私のプログラムはhttps://github.com/tribbloid/spookystuffからダウンロードできます。コード/ドキュメントが少なくまとまりがなく申し訳ありません。数日間だけ開始します)
追加: 自分で試してみたい場合は、次のコードでこの問題を示すことができます。
この投稿では、同じ IllegalStateException が 32 回再試行されていることに注意してください: Apache Spark Throws java.lang.IllegalStateException: unread block data
linux - 一部のプロセスをチェックするための Linux 自己修復スクリプト
Linuxスクリプトを初めて使用する場合、サーバーにインストールされているプロセスをチェックして1つのスクリプトを作成するのに助けが必要です。これらのサービスの1つが実行されていない場合は再起動し、それらのサービスを再チェックし、エラーがある場合は以下のようにエコーで出力します:
上記のサービスのいずれかが停止した場合、再起動コマンドを実行するスクリプト。
このスクリプトを開始するのに役立つ人がいる場合は感謝します
よろしく、
scripting - 集中ログの自己修復
これで、集中ログ システムのセットアップが完了しました。しかし、私が現在取り組んでいるのは、私のシステムの自己修復です。したがって、このサービスがダウンしているというエラーがログに記録されたとします。したがって、このタイプのエラーが発生したときにこのスクリプトを実行すると、サービスが再起動/正常に機能するようになるスクリプトを作成できるメカニズム/オープンソース ツールが必要です。ありがとう
web-config - web.configエラー
VS 2015、.Net Framework 4.5.1、ローカル IISExpress、および Azure Web アプリ
https://azure.microsoft.com/en-us/blog/auto-healing-windows-azure-web-sites/からの自己修復構成設定に従おうとしています。
エラー: 要素 'system.webServer' には無効な子要素 'monitoring' があります
アプリはコンパイルされますが、VS2015 でローカルに実行された場合と、Azure Web アプリにデプロイされた場合の両方で、実行時に失敗します。
docker - 重要な領事チェックを伴う領事監視
そのため、コンテナーを監視し、コンテナーが停止したときにクリティカルになるように設計されたコンサル チェックがあります。チェックが重要になった後、またはいくつかの重要な応答の後にスクリプトを実行する領事ウォッチを作成したい (たとえば、チェックが 5 つの重要な応答を送信した場合、スクリプトを実行したい)。
これが私の動作チェック用のjsonであり、私の時計がどのように見えるかについての私の推測です:
時計を機能させるには、何を変更する必要がありますか?
/scripts/new-docker.sh
また、consul イベントを使用してヘルス チェックを監視し、スクリプトを実行する (イベント タイプの) consul 監視をトリガーする必要がありますか? もしそうなら、健康診断を見守る領事イベントをどのように作るのですか?たとえば、これが領事のチェック、ウォッチ、およびイベントである場合、これを機能させるには何を変更する必要がありますか?