Linux サーバーにプロビジョニング システムを実装しています。コードが大きいので、アルゴリズムを入れます。このように動作します。
1. Read provisioning commands from file
2. Send it to another server using TCP
3. Save the request in hash.
4. Receive the response then
A. if successful response received then remove request from hash
B. if failed response received then retry the message
私が今抱えている問題は、タイムアウトの理由でプログラムが応答を受信しなかった場合、要求は永遠に応答を待って再試行されないことです。
タイマーを使用しようとしましたが、待機タイマーが非常に多くなり、これが良い方法かどうかわからないため、役に立ちませんでした。
問題は、メッセージを何らかのデータ構造に保存し、相手からの応答がない場合に削除または再試行することを確認するにはどうすればよいかということです。