𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗕𝗿𝗼𝘄𝘀𝗲𝗿 𝗣𝗿𝗼𝗳𝗶𝗹𝗲 𝗟𝗲𝗮𝘀𝗲𝘀 𝗳𝗼𝗿 𝗠𝘂𝗹𝘁𝗶-𝗪𝗼𝗿𝗸𝗲𝗿 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻

ஒரு காலாவதியான லாக் (stale lock) என்பது மீட்பு (recovery) தொடர்பான சிக்கலாகும். ஒரு ப்ரொஃபைல் லீஸ் (profile lease) என்பது ரன்டைம் (runtime) வடிவமைப்பு தொடர்பான சிக்கலாகும்.

இரண்டு தொழிலாளர்கள் (workers) ஒரே பிரவுசர் ப்ரொஃபைலைத் திறப்பதைத் தடுக்க ஒரு லாக் ஃபைல் (lock file) போதுமானது என்று பெரும்பாலான மக்கள் நினைக்கிறார்கள். நீங்கள் அளவை அதிகரிக்கும் போது (scale) அது ஒரு தவறாகும்.

ஒரு லாக் ஒரு ப்ரொஃபைல் பயன்பாட்டில் உள்ளதா என்பதை மட்டுமே உங்களுக்குத் தெரிவிக்கும். அந்த ப்ரொஃபைலை பயன்படுத்துவது பாதுகாப்பானதா என்பதை அது உங்களுக்குத் தெரிவிக்காது.

ஒரு தொழிலாளர் லாகின் செய்யும் இடையில் செயலிழந்தால் (crash), கணக்கின் நிலை (account state) தெரியாததாக இருக்கும். அடுத்த தொழிலாளர் தவறான பக்கத்திலோ அல்லது சிதைந்த குக்கீகளுடனோ (corrupted cookies) தொடங்கக்கூடும். இது பிழைத்திருத்தம் (debug) செய்ய கடினமான அமைதியான தோல்விகளை (silent failures) ஏற்படுத்தும்.

ஒரு லீஸ் என்பது ஒரு லாக்கைக் காட்டிலும் மேலானது. இது உங்கள் ஸ்கெட்யூலர் (scheduler), உங்கள் தொழிலாளர் மற்றும் உங்கள் ப்ரொஃபைல் ஆகியவற்றிற்கு இடையிலான ஒரு ஒப்பந்தமாகும்.

ஒரு சிறந்த லீஸ் இந்த கேள்விகளுக்குப் பதிலளிக்கிறது:

  • இந்த ப்ரொஃபைலை இப்போது யார் வைத்திருப்பார்கள்?
  • எந்த குறிப்பிட்ட ரன் (run) இதைப் பயன்படுத்துகிறது?
  • இந்த உரிமையின் காலாவதி நேரம் எப்போது?
  • தொழிலாளர் காணாமல் போனால் என்ன நடக்கும்?

ஒரு குறைந்தபட்ச லீஸ் பதிவில் (lease record) பின்வருவன அடங்கியிருக்க வேண்டும்: • profile_id மற்றும் account_id • worker_id மற்றும் run_id • proxy_id • heartbeat_at (தொழிலாளர் செயல்பாட்டில் உள்ளாரா என்பதைச் சரிபார்க்க) • last_safe_step (கடைசியாகத் தெரிந்த சரியான நிலையைச் சரிபார்க்க) • release_policy

Time To Live (TTL) காலாவதியாவதை ஒரு லாக்கைக் நீக்குவதற்கான கட்டளையாகக் கருத வேண்டாம். காலாவதியான லீஸ் என்பது தீர்க்கப்படாத ஒரு முடிவாகும். ஒரு தெளிவான விடுவிப்பு (clean release) என்பது விளக்கக்கூடிய ஒரு முடிவாகும்.

ஒரு தொழிலாளர் heartbeat-களை அனுப்புவதை நிறுத்தினால், அந்த ப்ரொஃபைலைத் தானாகவே மீண்டும் பயன்படுத்த வேண்டாம். அதற்குப் பதிலாக ப்ரொஃபைலை ஒரு குவாரன்டைன் (quarantine) நிலைக்கு மாற்றவும்.

உங்கள் ப்ரொஃபைல்களுக்கு இந்த நிலைகளைப் பயன்படுத்தவும்:

  • Available: பயன்பாட்டிற்குத் தயார்.
  • Leased: தற்போது பயன்பாட்டில் உள்ளது.
  • Stale: தொழிலாளர் தகவல் தெரிவிப்பதை நிறுத்திவிட்டார்; நிலை தெரியவில்லை.
  • Review Required: மனித ஆய்வுக்குத் தேவைப்படுகிறது.
  • Quarantined: சரிபார்க்கப்படும் வரை பயன்படுத்துவது பாதுகாப்பற்றது.
  • Disabled: பயன்பாட்டிலிருந்து நீக்கப்பட்டது.

குவாரன்டைன் என்பது தண்டனை அல்ல. அது ஒரு பாதுகாப்பு வழிமுறையாகும். பின்வரும் சூழல்களில் நீங்கள் ஒரு ப்ரொஃபைலை குவாரன்டைன் செய்ய வேண்டும்:

  • படிவத்தைச் சமர்ப்பிக்கும் போது (form submission) தொழிலாளர் செயலிழந்தால்.
  • இறுதி URL தெரியவில்லை என்றால்.
  • ரன் இடையில் proxy மாறினால்.
  • ஒரு பாதுகாப்பு அறிவிப்பு (security prompt) தோன்றினால்.

ஒரு லாக், ஒரே நேரத்தில் அணுகப்படுவதிலிருந்து (simultaneous access) ஒரு ப்ரொஃபைலைப் பாதுகாக்கிறது. ஒரு லீஸ், பாதுகாப்பற்ற மறுபயன்பாட்டிலிருந்து (unsafe reuse) ஒரு ப்ரொஃபைலைப் பாதுகாக்கிறது.

பிரவுசர் ப்ரொஃபைல்களைத் தூக்கி எறியக்கூடிய கோப்புறைகளாக (disposable folders) கருதுவதை நிறுத்துங்கள். அவற்றை நிர்வகிக்கப்பட்ட கணக்குச் சூழல்களாக (managed account environments) கருதுங்கள்.

Source: https://dev.to/web4browser/designing-browser-profile-leases-for-multi-worker-automation-1bfa