WordPress ನ ಅಂತರ್ನಿರ್ಮಿತ admin-email ಪರಿಶೀಲನಾ ಪರದೆ—ವರ್ಷನ್ 5.3 ರಿಂದ ಪ್ರತಿ ಕೆಲವು ತಿಂಗಳಿಗೊಮ್ಮೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ—SSH ಪ್ರವೇಶವಿಲ್ಲದ ಸೈಟ್ಗಳಲ್ಲಿ ಪ್ಲಗಿನ್ಗಳನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡುವ Playwright ಆಟೊಮೇಷನ್ ಅನ್ನು ಕುಂಠಿತಗೊಳಿಸುತ್ತದೆ. ಈ ಹೆಚ್ಚುವರಿ ಹಂತವು ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಕಾಣಿಸಿಕೊಳ್ಳದ ಬಟನ್ಗಾಗಿ ಕಾಯುವಂತೆ ಮಾಡುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಟೈಮೌಟ್ ಮತ್ತು ತಡೆಗಟ್ಟಲ್ಪಟ್ಟ ನಿಯೋಜನೆಗಳು (stalled deployments) ಸಂಭವಿಸುತ್ತವೆ.
ವಿಳಂಬಕ್ಕೆ ಕಾರಣವೇನು
Playwright ಸ್ಕ್ರಿಪ್ಟ್ wp-admin ಗೆ ಲಾಗಿನ್ ಆದಾಗ, ಡ್ಯಾಶ್ಬೋರ್ಡ್ ತಕ್ಷಣವೇ ಲೋಡ್ ಆಗುತ್ತದೆ ಎಂದು ಅದು ನಿರೀಕ್ಷಿಸುತ್ತದೆ. ಬದಲಾಗಿ, WordPress ಕೆಲವೊಮ್ಮೆ adminhash= ಎಂಬುದು ಇರುವ URL ಹೊಂದಿರುವ ಪುಟಕ್ಕೆ ರೀಡೈರೆಕ್ಟ್ ಮಾಡುತ್ತದೆ. ಆ ಪುಟವು, “Is this still your address?” ಎಂದು ಕೇಳುತ್ತದೆ ಮತ್ತು ಅದರಲ್ಲಿ ಎರಡು ಬಟನ್ಗಳಿರುತ್ತವೆ: Yes, this is my address ಮತ್ತು I’ll wait. ಮನುಷ್ಯರು “I’ll wait” ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ನಂತರ ಮುಂದುವರಿಯುತ್ತಾರೆ; ಆದರೆ ಅಟೆಂಡೆಡ್ ಇಲ್ಲದ (unattended) ಸ್ಕ್ರಿಪ್ಟ್ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ ಎಲಿಮೆಂಟ್ಗಳಿಗಾಗಿ ಹುಡುಕುತ್ತಲೇ ಇರುತ್ತದೆ, ಅವುಗಳು ಸಿಗುವುದಿಲ್ಲ ಮತ್ತು ಅಂತಿಮವಾಗಿ ಟೈಮೌಟ್ ಆಗುತ್ತದೆ.
ಈ ಪ್ರಾಂಪ್ಟ್ ಏಕೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ
ಅಡ್ಮಿನ್ ಇಮೇಲ್ ವಿಳಾಸವು ಇನ್ನೂ ತಲುಪಲು ಸಾಧ್ಯವಾಗುತ್ತಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು WordPress ಈ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಸೇರಿಸಿದೆ. ಸೈಟ್ನ ಚಟುವಟಿಕೆಯನ್ನು ಲೆಕ್ಕಿಸದೆ, ಇದು ಪ್ರತಿ ಕೆಲವು ತಿಂಗಳಿಗೊಮ್ಮೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅಡ್ಮಿನ್ ವಿಳಾಸವನ್ನು ಕಳೆದುಕೊಂಡಿರುವ ಸೈಟ್ ಮಾಲೀಕರಿಗೆ ಇದು ಭದ್ರತಾ ತಪಾಸಣೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
ಯಾರ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ
- ಡೆವಲಪರ್ಗಳು (Developers) ಯಾರು ಪ್ಲಗಿನ್ ಅಪ್ಡೇಟ್ಗಳನ್ನು ಪೋಷಿಸಲು, UI ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸಲು ಅಥವಾ ಬಲ್ಕ್ ಅಡ್ಮಿನ್ ಕಾರ್ಯಗಳನ್ನು ಮಾಡಲು Playwright ಅನ್ನು ಅವಲಂಬಿಸಿದ್ದಾರೆ.
- SSH ಅನ್ನು ನಿರ್ಬಂಧಿಸುವ ಹೋಸ್ಟಿಂಗ್ ಪ್ರೊವೈಡರ್ಗಳು (Hosting providers), ಇದು ಬಳಕೆದಾರರು ಬ್ರೌಸರ್ ಮೂಲಕ ಆಟೊಮೇಷನ್ ಮಾಡಲು ಒತ್ತಾಯಿಸುತ್ತದೆ.
- ಅಪ್ಡೇಟ್ ಪರದೆಗೆ ಆಟೊಮೇಷನ್ ತಲುಪದ ಕಾರಣ ವಿಳಂಬಿತ ಅಪ್ಡೇಟ್ಗಳನ್ನು ನೋಡುವ ಸೈಟ್ ಮಾಲೀಕರು (Site owners).
ಇದರ ವೆಚ್ಚ ಕೇವಲ ಕೆಲವು ಸೆಕೆಂಡುಗಳ ವ್ಯರ್ಥವಲ್ಲ; ಪದೇ ಪದೇ ವಿಫಲವಾಗುವುದರಿಂದ ನಿಗದಿತ ನಿರ್ವಹಣಾ ಅವಧಿಗಳು (maintenance windows) ಸ್ಥಗಿತಗೊಳ್ಳಬಹುದು ಮತ್ತು ಮ್ಯಾನುಯಲ್ ಹಸ್ತಕ್ಷೇಪಕ್ಕೆ ಒತ್ತಾಯಿಸಬಹುದು.
ಅನಗತ್ಯ ಪರದೆಯನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು
ಪ್ರಸ್ತುತ URL ನಲ್ಲಿ adminhash= ಇರುವುದು ಒಂದು ವಿಶ್ವಾಸಾರ್ಹ ಸೂಚಕವಾಗಿದೆ. ಈ ಸ್ಟ್ರಿಂಗ್ ಕೇವಲ ಇಮೇಲ್-ವೆರಿಫಿಕೇಶನ್ ಪುಟದಲ್ಲಿ ಮಾತ್ರ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಸಾಮಾನ್ಯ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಅಥವಾ ಯಾವುದೇ ಇತರ ಅಡ್ಮಿನ್ ಪರದೆಯಲ್ಲಿ ಅಲ್ಲ.
ಒಂದು ಸರಳ ಬೈಪಾಸ್ (bypass)
ಲಾಗಿನ್ ಹಂತದ ತಕ್ಷಣವೇ ಒಂದು ಚೆಕ್ ಅನ್ನು ಸೇರಿಸಿ. ಒಂದು ವೇಳೆ URL ನಲ್ಲಿ adminhash= ಇದ್ದರೆ, “I’ll wait” ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಮುಂದುವರಿಯುವ ಮೊದಲು ಪುಟವು ಸ್ಥಿರವಾಗುವವರೆಗೆ ಕಾಯಿರಿ.
def ensure_past_email_check(page):
if "adminhash=" in page.url:
page.click("text=I'll wait")
page.wait_for_load_state("networkidle")
ಪ್ರತಿ ಯಶಸ್ವಿ ಲಾಗಿನ್ ನಂತರ ತಕ್ಷಣವೇ ensure_past_email_check(page) ಅನ್ನು ಕರೆಯಿರಿ. ವೆರಿಫಿಕೇಶನ್ ಪರದೆ ಕಾಣಿಸಿಕೊಳ್ಳದಿದ್ದಾಗ ಈ ಫಂಕ್ಷನ್ ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ, ಇದರಿಂದ ಸ್ಕ್ರಿಪ್ಟ್ ವೇಗವಾಗಿ ಮತ್ತು ನಿಶ್ಚಿತವಾಗಿ (deterministic) ಇರುತ್ತದೆ.
ಬೈಪಾಸ್ ಅನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕು
ಮಾನವ ಮೇಲ್ವಿಚಾರಣೆಯಿಲ್ಲದೆ ನಡೆಯಬೇಕಾದ ಆಟೊಮೇಷನ್ ವರ್ಕ್ಫ್ಲೋಗಳಿಗಾಗಿ—ಉದಾಹರಣೆಗೆ ರಾತ್ರಿ ಸಮಯದ ಪ್ಲಗಿನ್ ಅಪ್ಡೇಟ್ಗಳು ಅಥವಾ ಕಂಟಿನ್ಯೂಯಸ್-ಇಂಟಿಗ್ರೇಷನ್ UI ಪರೀಕ್ಷೆಗಳು—ಈ ಬೈಪಾಸ್ ಪ್ರಾಯೋಗಿಕವಾಗಿದೆ. ಇದು ವೆರಿಫಿಕೇಶನ್ ಹಂತವನ್ನು ಯಾದೃಚ್ಛಿಕ ವೈಫಲ್ಯವಾಗಿ ನೋಡುವ ಬದಲು, ಒಂದು ನಿರೀಕ್ಷಿತ ವಿಳಂಬವಾಗಿ ಪರಿಗಣಿಸುತ್ತದೆ.
ವಿರೋಧಾತ್ಮಕ ಅಂಶ (Counter-point)
ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಲಕ್ಷಿಸುವುದು ನಿಜವಾದ ಇಮೇಲ್-ಡೆಲಿವರಿ ಸಮಸ್ಯೆಯನ್ನು ಮರೆಮಾಚಬಹುದು ಎಂದು ಕೆಲವು ಅಡ್ಮಿನಿಸ್ಟ್ರೇಟರ್ಗಳು ವಾದಿಸುತ್ತಾರೆ. ಒಂದು ವೇಳೆ ಅಡ್ಮಿನ್ ಇಮೇಲ್ ನಿಜವಾಗಿಯೂ ತಲುಪಲು ಸಾಧ್ಯವಾಗದಂತಾದರೆ, ಸೈಟ್ ಪ್ರಮುಖ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳಬಹುದು. ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಘಟನೆಯನ್ನು ಲಾಗ್ ಮಾಡುವುದು, ಅಲರ್ಟ್ ಕಳುಹಿಸುವುದು ಅಥವಾ ಆಟೊಮೇಷನ್ ಅನ್ನು ಸ್ಥಗಿತಗೊಳಿಸುವುದು ಎಂಬ ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮವಾದ ವಿಧಾನವು ಉತ್ತಮವಾಗಿರಬಹುದು.
ಮುಂದಿನ ಗಮನಾರ್ಹ ಅಂಶಗಳು
- WordPress URL ಮಾದರಿಯನ್ನು ಬದಲಾಯಿಸಬಹುದು ಅಥವಾ ಹೆಚ್ಚುವರಿ ವೆರಿಫಿಕೇಶನ್ ಹಂತಗಳನ್ನು ಸೇರಿಸಬಹುದು, ಇದು
adminhash=ಚೆಕ್ ಅನ್ನು ಕುಂಠಿತಗೊಳಿಸಬಹುದು. ಕೋರ್ ರಿಲೀಸ್ ನೋಟ್ಸ್ (core release notes) ಮೇಲೆ ಕಣ್ಣಿಡಿ. - Playwright ನ ಸೆಲೆಕ್ಟರ್ ಇಂಜಿನ್ ವಿಕಸನಗೊಳ್ಳುತ್ತದೆ; ಯಾವುದೇ UI ಮರುವಿನ್ಯಾಸದ ನಂತರ
"text=I'll wait"ಎಂಬ ಟೆಕ್ಸ್ಟ್ ಸೆಲೆಕ್ಟರ್ ಬಟನ್ಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. - ನೀವು ಅನೇಕ ಸೈಟ್ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತಿದ್ದರೆ, ಡೂಪ್ಲಿಕೇಟೆಡ್ ಕೋಡ್ ಅನ್ನು ತಪ್ಪಿಸಲು ಹಂಚಿಕೆಯ ಲೈಬ್ರರಿಯಲ್ಲಿ (shared library) ಬೈಪಾಸ್ ಲಾಜಿಕ್ ಅನ್ನು ಕೇಂದ್ರೀಕರಿಸಲು ಪರಿಗಣಿಸಿ.
ಅಡ್ಮಿನ್-ಇಮೇಲ್ ಕನ್ಫರ್ಮೇಷನ್ ಪುಟವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ವಹಿಸುವ ಮೂಲಕ, ಡೆವಲಪರ್ಗಳು ಸಾಂದರ್ಭಿಕ ಟೈಮೌಟ್ ಅನ್ನು ತಮ್ಮ Playwright ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ದಿನಚರಿ ಭಾಗವನ್ನಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು, ಇದರಿಂದ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಅನಿರೀಕ್ಷಿತ ಭದ್ರತಾ ಪ್ರಾಂಪ್ಟ್ ನೀಡಿದಾಗಲೂ WordPress ಆಟೊಮೇಷನ್ ವಿಶ್ವಾಸಾರ್ಹವಾಗಿ ಉಳಿಯುತ್ತದೆ.
