ಪ್ರಾಕ್ಸಿ ಒಮ್ಮೆ ವಿಫಲವಾಗುತ್ತದೆ. ನಂತರದ ವಿನಂತಿಗಳು ಯಶಸ್ವಿಯಾಗುತ್ತವೆ, ಆದರೂ ಮೇಲ್ವಿಚಾರಕವು ಇನ್ನೊಂದು ವೈಫಲ್ಯವನ್ನು ಘೋಷಿಸುತ್ತಲೇ ಇರುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ನಿನ್ನೆಯ ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ನೆನಪಿಟ್ಟುಕೊಂಡಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.

ಈ ಮಾದರಿಯು curl ವಿಫಲವಾದಾಗ ಮಾತ್ರ ವೇರಿಯೇಬಲ್ ಅನ್ನು ನವೀಕರಿಸುತ್ತದೆ:

status=0
# Repeated inside a loop:
curl ... || status=$?

ಮೊದಲ ಶೂನ್ಯವಲ್ಲದ ಫಲಿತಾಂಶದ ನಂತರ, ಯಶಸ್ವಿ ಪುನರಾವರ್ತನೆಯು status ಅನ್ನು ಅಸ್ಪೃಶ್ಯವಾಗಿ ಬಿಡುತ್ತದೆ. curl ಯಶಸ್ವಿಯಾದ ಕಾರಣದಿಂದ ಮಾತ್ರ ಅದು ಶೂನ್ಯವಾಗುವುದಿಲ್ಲ.

ಬದಲಾಗಿ ಪ್ರಸ್ತುತ ಆಜ್ಞೆಯ ಮೇಲೆ ಶಾಖೆ ಮಾಡಿ:

if curl --proxy socks5h://127.0.0.1:1080 --noproxy '' \
    --fail --silent --show-error --connect-timeout 3 --max-time 10 \
    https://health.example/ >/dev/null; then
    echo "check succeeded"
else
    echo "check failed"
fi

ವಿಳಾಸ ಮತ್ತು ಸಮಯಗಳು ಉದಾಹರಣೆಗಳು. ಇದು ಹಳೆಯ ವೇರಿಯೇಬಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ; ಯಾವ ಮರುಪ್ರಾಪ್ತಿ ಕ್ರಿಯೆ ಸೂಕ್ತ ಎಂದು ನಿರ್ಧರಿಸುವುದಿಲ್ಲ.

ವೀಕ್ಷಣೆಯನ್ನು ಸಂಕುಚಿತವಾಗಿಡಿ. ವಿನಂತಿಯು ಪ್ರಾಕ್ಸಿ, ಮುಂದಿನ ಮಾರ್ಗ, ಗಮ್ಯಸ್ಥಾನ, TLS ಪರಿಶೀಲನೆ ಮತ್ತು HTTP ಫಲಿತಾಂಶವನ್ನು ಅವಲಂಬಿಸಿದೆ. SOCKS ಸೇವೆ ಆರೋಗ್ಯಕರವಾಗಿದ್ದಾಗಲೂ ಗುರಿಯ ಅಡಚಣೆ ಅದನ್ನು ವಿಫಲಗೊಳಿಸಬಹುದು. ಅನಿರೀಕ್ಷಿತ HTTP 200 ಪುಟವೂ ನಿರೀಕ್ಷಿತ ವಿಷಯವನ್ನು ಒದಗಿಸದೆ ಕೇವಲ ಸ್ಥಿತಿ-ಆಧಾರಿತ ಪರಿಶೀಲನೆಯನ್ನು ದಾಟಬಹುದು.

ನಿಯಂತ್ರಿತ ಪ್ರತಿಕ್ರಿಯಾ ಒಪ್ಪಂದವನ್ನು ಆರಿಸಿ ಮತ್ತು ವೈಫಲ್ಯದ ಹಂತವನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ. ಪ್ರತಿ ಶೂನ್ಯವಲ್ಲದ curl ಫಲಿತಾಂಶದಲ್ಲೂ ಪ್ರಾಕ್ಸಿಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವುದು ಆರೋಗ್ಯಕರ ಅವಧಿಗಳನ್ನು ಅಡ್ಡಿಪಡಿಸಬಹುದು, ಆದರೆ ನಿಜವಾದ ಗಮ್ಯಸ್ಥಾನದ ಸಮಸ್ಯೆ ಮುಟ್ಟದೆ ಉಳಿಯುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು