മൾട്ടി-വർക്കർ ഓട്ടോമേഷനായി ബ്രൗസർ പ്രൊഫൈൽ ലീസ് (Lease) രൂപകൽപ്പന ചെയ്യൽ
ഒരു സ്റ്റേൽ ലോക്ക് (stale lock) എന്നത് ഒരു റിക്കവറി പ്രശ്നമാണ്. ഒരു പ്രൊഫൈൽ ലീസ് എന്നത് ഒരു റൺടൈം ഡിസൈൻ പ്രശ്നമാണ്.
ഒരേ ബ്രൗസർ പ്രൊഫൈൽ രണ്ട് വർക്കർമാർ തുറക്കുന്നത് തടയാൻ ഒരു ലോക്ക് ഫയൽ മാത്രം മതിയാകും എന്ന് മിക്കവരും കരുതുന്നു. എന്നാൽ സ്കെയിലിംഗ് (scaling) ചെയ്യുമ്പോൾ അത് ഒരു തെറ്റാണ്.
ഒരു പ്രൊഫൈൽ തിരക്കിലാണോ (busy) എന്ന് മാത്രമേ ഒരു ലോക്ക് നിങ്ങൾക്ക് പറഞ്ഞുതരുന്നുള്ളൂ. ആ പ്രൊഫൈൽ ഉപയോഗിക്കാൻ സുരക്ഷിതമാണോ എന്ന് അത് അറിയില്ല.
ലോഗിൻ ചെയ്യുന്നതിനിടയിൽ ഒരു വർക്കർ ക്രാഷ് ആയാൽ, അക്കൗണ്ടിന്റെ അവസ്ഥ (state) അജ്ഞാതമായിരിക്കും. അടുത്ത വർക്കർ തെറ്റായ പേജിലോ അല്ലെങ്കിൽ കേടുപാടുകൾ സംഭവിച്ച കുക്കികളോ (corrupted cookies) ഉപയോഗിച്ചോ പ്രവർത്തനം തുടങ്ങിയേക്കാം. ഇത് ഡിബഗ് ചെയ്യാൻ പ്രയാസമുള്ള 'സൈലന്റ് ഫെയിലിയറുകൾക്ക്' (silent failures) കാരണമാകുന്നു.
ഒരു ലീസ് എന്നത് വെറുമൊരു ലോക്ക് മാത്രമല്ല. അത് നിങ്ങളുടെ ഷെഡ്യൂളർ (scheduler), വർക്കർ, പ്രൊഫൈൽ എന്നിവർ തമ്മിലുള്ള ഒരു കരാറാണ്.
ഒരു നല്ല ലീസ് ഈ ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകണം:
- ഈ പ്രൊഫൈലിന്റെ ഉടമസ്ഥാവകാശം ഇപ്പോൾ ആർക്കാണ്?
- ഏത് പ്രത്യേക റൺ (run) ആണ് ഇത് ഉപയോഗിക്കുന്നത്?
- ഈ ഉടമസ്ഥാവകാശം എപ്പോൾ അവസാനിക്കും?
- വർക്കർ അപ്രത്യക്ഷമായാൽ എന്ത് സംഭവിക്കും?
ഒരു മിനിമൽ ലീസ് റെക്കോർഡിൽ ഇവ ഉൾപ്പെടണം:
• profile_id and account_id
• worker_id and run_id
• proxy_id
• heartbeat_at (വർക്കർ സജീവമാണോ എന്ന് പരിശോധിക്കാൻ)
• last_safe_step (അവസാനമായി അറിയാവുന്ന സുരക്ഷിതമായ അവസ്ഥ പരിശോധിക്കാൻ)
• release_policy
ഒരു Time To Live (TTL) കാലാവധി കഴിയുന്നത് ലോക്ക് ഡിലീറ്റ് ചെയ്യാനുള്ള ഒരു കമാൻഡ് ആയി കാണരുത്. കാലാവധി കഴിഞ്ഞ ഒരു ലീസ് എന്നത് പരിഹരിക്കപ്പെടാത്ത ഒരു അവസാനമാണ്. കൃത്യമായ ഒരു റിലീസ് (clean release) എന്നത് വിശദീകരിക്കാൻ കഴിയുന്ന ഒരു അവസാനമാണ്.
ഒരു വർക്കർ ഹാർട്ട്ബീറ്റുകൾ (heartbeats) അയക്കുന്നത് നിർത്തിക്കഴിഞ്ഞാൽ, ആ പ്രൊഫൈൽ സ്വയമേവ വീണ്ടും ഉപയോഗിക്കരുത്. പകരം പ്രൊഫൈലിനെ ഒരു ക്വാറന്റൈൻ (quarantine) അവസ്ഥയിലേക്ക് മാറ്റുക.
നിങ്ങളുടെ പ്രൊഫൈലുകൾക്കായി ഈ അവസ്ഥകൾ ഉപയോഗിക്കുക:
- Available: ഉപയോഗിക്കാൻ തയ്യാറായവ.
- Leased: നിലവിൽ ഉപയോഗിച്ചുകൊണ്ടിരിക്കുന്നു.
- Stale: വർക്കർ റിപ്പോർട്ട് ചെയ്യുന്നത് നിർത്തി; അവസ്ഥ അജ്ഞാതമാണ്.
- Review Required: മനുഷ്യന്റെ പരിശോധന ആവശ്യമാണ്.
- Quarantined: പരിശോധന പൂർത്തിയാകുന്നതുവരെ ഉപയോഗിക്കാൻ സുരക്ഷിതമല്ല.
- Disabled: ഉപയോഗശൂന്യമായവ.
ക്വാറന്റൈൻ എന്നത് ഒരു ശിക്ഷയല്ല, മറിച്ച് ഒരു സുരക്ഷാ സംവിധാനമാണ്. താഴെ പറയുന്ന സാഹചര്യങ്ങളിൽ നിങ്ങൾ ഒരു പ്രൊഫൈൽ ക്വാറന്റൈൻ ചെയ്യണം:
- ഫോം സബ്മിറ്റ് ചെയ്യുന്നതിനിടയിൽ വർക്കർ പ്രവർത്തനം നിർത്തിയാൽ.
- അവസാന URL അജ്ഞാതമാണെങ്കിൽ.
- റണ്ണിനിടയിൽ പ്രോക്സി മാറിയാൽ.
- ഒരു സെക്യൂരിറ്റി പ്രോംപ്റ്റ് പ്രത്യക്ഷപ്പെട്ടാൽ.
ഒരു ലോക്ക് പ്രൊഫൈലിനെ ഒരേസമയം ഒന്നിലധികം പേർ ഉപയോഗിക്കുന്നതിൽ നിന്ന് സംരക്ഷിക്കുന്നു. ഒരു ലീസ് പ്രൊഫൈലിനെ സുരക്ഷിതമല്ലാത്ത രീതിയിൽ വീണ്ടും ഉപയോഗിക്കുന്നതിൽ നിന്ന് സംരക്ഷിക്കുന്നു.
ബ്രൗസർ പ്രൊഫൈലുകളെ വെറും ഉപയോഗിച്ച് വലിച്ചെറിയാവുന്ന ഫോൾഡറുകളായി കാണുന്നത് നിർത്തുക. അവയെ നിയന്ത്രിക്കപ്പെട്ട അക്കൗണ്ട് എൻവയോൺമെന്റുകളായി (managed account environments) പരിഗണിക്കുക.
Source: https://dev.to/web4browser/designing-browser-profile-leases-for-multi-worker-automation-1bfa