കണക്ട് ചെയ്ത് ഇരുപത് മിനിറ്റ് കഴിഞ്ഞപ്പോൾ അറിയിപ്പ് പ്രത്യക്ഷപ്പെട്ടു. അതിനടിയിലെ കൗണ്ടർ കഴിഞ്ഞ രാവിലെ മുതൽ, അല്ലെങ്കിൽ അക്കൗണ്ട് അവസാനമായി സ്ഥിരീകരിച്ചതു മുതൽ പ്രവർത്തിക്കുകയായിരുന്നു, മുന്നറിയിപ്പിൽ ഏതാണെന്ന് ഒന്നും പറഞ്ഞിരുന്നില്ല. അതാണ് ലക്ഷണം: നിങ്ങളുടെ മുന്നിലുള്ള കണക്ഷനല്ലാതെ മറ്റെന്തോ ആയി ബന്ധിപ്പിച്ച ഓർമ്മപ്പെടുത്തൽ.

പരിഹാരം മികച്ച മുന്നറിയിപ്പല്ല. ആവശ്യകത ഏത് ഘടികാരമാണ് ഉദ്ദേശിക്കുന്നതെന്ന് തീരുമാനിച്ച്, ആ ഘടികാരത്തിൽ നിലനിൽക്കുന്ന ഒരു വസ്തുവിൽ ടൈമർ ബന്ധിപ്പിക്കുകയാണ്.

എന്താണ് മുഴങ്ങിയത്, എന്താണ് അത് എണ്ണിയിരുന്നത്

മൂന്ന് സാധ്യതയുള്ള ഉറവിടങ്ങൾ ഒരേ സന്ദേശം നൽകുന്നു. കലണ്ടർ നിയമം നിശ്ചിത പ്രാദേശിക സമയത്ത് പ്രവർത്തിക്കുന്നു, ടണലുകളെക്കുറിച്ച് ഒന്നുമറിയില്ല. ക്ലയന്റിലെ കൗണ്ടർ ഏതെങ്കിലും കണക്ഷൻ ഉള്ളിടത്തോളം കൂടുന്നു, വീണ്ടും ബന്ധിപ്പിക്കലുകളെ അതിജീവിക്കുന്നു. ഗേറ്റ്വേ നയം സെഷൻ സെർവർ വശത്ത് അവസാനിപ്പിച്ച് ആദ്യം മുന്നറിയിപ്പ് അയയ്ക്കുന്നു.

അവസാന രണ്ടെണ്ണം മാത്രമാണ് സെഷനെക്കുറിച്ച്, അവയും യോജിക്കുന്നില്ല. ക്ലയന്റ് കൗണ്ടർ പ്രാദേശിക പ്രക്രിയ നിരീക്ഷിച്ചത് അളക്കുന്നു; ഗേറ്റ്വേ സ്ഥിരീകരിച്ചതും കണക്കാക്കിയതും അളക്കുന്നു. ഉറക്കം, നെറ്റ്വർക്ക് മാറ്റം, നിരീക്ഷകന്റെ പുനരാരംഭം എന്നിവ മണിക്കൂറുകളായി അവയെ വേർപെടുത്താം, അതുകൊണ്ടാണ് മുന്നറിയിപ്പും നിർബന്ധിത കാലഹരണവും അകന്നു പോകുന്നത്.

ഒരു ആവശ്യകതയുടെ പിന്നിലെ മൂന്ന് ഘടികാരങ്ങൾ

യഥാർത്ഥത്തിൽ വേണ്ട വാക്യം എഴുതി തുടങ്ങുക. ഗേറ്റ്വേ ഈ കണക്ഷൻ അവസാനിപ്പിക്കുന്നതിന് മുൻപ് മുന്നറിയിപ്പ് നൽകുന്നത്, ഒരു ദിവസത്തെ ബന്ധിപ്പിച്ച സമയത്തിന് ശേഷം ഓർമ്മിപ്പിക്കുന്നതിന് തുല്യമായ ആവശ്യകതയല്ല. ഈ സെഷൻ 23 മണിക്കൂറായി നിലനിൽക്കുന്നു എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നതിനും തുല്യമല്ല. ഓരോ പതിപ്പും വ്യത്യസ്ത സംഭവത്തെ പേരിടുന്നു, വ്യത്യസ്ത ഘടകം അതിന് ഉത്തരം നൽകണം.

തുടർന്ന് ഡാറ്റയുണ്ടോ എന്ന് പരിശോധിക്കുക. പ്രാദേശിക ആരംഭ ടൈംസ്റ്റാമ്പ് സെർവറിനെ ആശ്രയിക്കാതെ സെഷന്റെ പ്രായം നൽകുന്നു. ഗേറ്റ്വേ നയം ബാക്കിയുള്ള ആയുസ്സ് നൽകുന്നു, പക്ഷേ ഗേറ്റ്വേ അത് വെളിപ്പെടുത്തിയാൽ മാത്രം. ഉപയോഗ റിപ്പോർട്ട് സംഭവത്തിന് ശേഷം ദൈർഘ്യം നൽകുന്നു, അതിന് മുൻകൂട്ടിയുള്ള അറിയിപ്പ് നയിക്കാനാവില്ല.

ടൈമർ അക്കൗണ്ടിലല്ല, സെഷനിൽ ഉറപ്പിക്കുക

ആദ്യം വസ്തു തിരഞ്ഞെടുക്കുക. ഒരു അക്കൗണ്ടിൽ നിരവധി ഉപകരണങ്ങളും ഒരേസമയം നിരവധി സെഷനുകളും ഉണ്ടാകാം, അതിനാൽ ഉപയോക്തൃനാമത്തിൽ ഉറപ്പിച്ച ഓർമ്മപ്പെടുത്തലിന് ഏത് കണക്ഷൻ പ്രായത്തിലെത്തി എന്ന് പറയാനാവില്ല. അത് പ്രൊഫൈലിലും ആ സജീവമാക്കലിലും ഉറപ്പിക്കുക, സജീവമാക്കൽ അവസാനിക്കുമ്പോൾ കാത്തിരിക്കുന്ന അറിയിപ്പ് റദ്ദാക്കുക.

Evidence you can readWhat it establishesWhere it misleads
Connection state changes to activeA session started nowDoes not carry the gateway's own session identifier
Duration reported at disconnectTotal service time for that sessionArrives too late for any advance notice
Interim usage updateTime accounted up to that updateStaleness equals the update interval
Local timestamp taken at activationAge of your observationResets whenever the observer restarts

ആ പട്ടിക നിങ്ങളുടെ സ്വന്തം അറിയിപ്പുകാരനുള്ള ഒരു കരാറാണ്, ഏതെങ്കിലും ക്ലയന്റിന്റെ കോൾബാക്ക് API വിവരണമല്ല. ഇൻസ്റ്റാൾ ചെയ്ത ഉൽപ്പന്നം കണക്ഷൻ അവസ്ഥയെക്കുറിച്ച് രേഖപ്പെടുത്തുന്നതെല്ലാം ബന്ധിപ്പിക്കേണ്ട ഉറവിടമാണ്; അത് സ്ഥിരീകരണ സംഭവങ്ങൾ മാത്രം വെളിപ്പെടുത്തുന്നിടത്ത്, അത് ഉറക്കെ പറയുക, സെഷൻ അനുമാനിക്കുന്നതിന് പകരം പരുക്കൻ പെരുമാറ്റം സ്വീകരിക്കുക.

ചെറിയ പരിധി ഉപയോഗിച്ച് പരീക്ഷിക്കുക

ഒരു ദിവസത്തെ ടൈമർ ഒരു ദിവസത്തെ കാത്തിരിപ്പ് കൊണ്ട് ഒരിക്കലും ഡീബഗ് ചെയ്യരുത്. ക്രമീകരിക്കാവുന്ന പരിധി ചേർക്കുക, അത് മുപ്പത് സെക്കൻഡിൽ നിർത്തുക, ക്രമത്തിൽ നാല് പരിവർത്തനങ്ങൾ പ്രവർത്തിപ്പിക്കുക: ബന്ധിപ്പിക്കുക, കാത്തിരിക്കുക, വിച്ഛേദിക്കുക, വീണ്ടും ബന്ധിപ്പിക്കുക. ഓരോ പരിവർത്തനവും കൃത്യമായി ഒരു അവസ്ഥാമാറ്റം നൽകണം, വീണ്ടും ബന്ധിപ്പിക്കൽ പഴയത് പാരമ്പര്യമായി സ്വീകരിക്കുന്നതിന് പകരം പുതിയ സമയപരിധി ക്രമീകരിക്കണം.

# current connection state and profile identity
nmcli -f GENERAL.STATE,GENERAL.CONNECTION connection show work

# the notifier unit you wrote: does it restart the deadline or resume it?
journalctl --user -u vpn-timer.service --since "-5 min" -o cat

വാക്കുകളല്ല, ടൈംസ്റ്റാമ്പുകൾ നോക്കുക. മുൻ സെഷന്റെ ആരംഭ സമയവുമായി വരുന്ന അറിയിപ്പ് തെറ്റായ വസ്തുവിനെ ബന്ധിച്ചിരിക്കുന്നു, ഒരു സമയപരിധിക്ക് രണ്ടുതവണ വരുന്ന അറിയിപ്പ് എന്നാൽ അയച്ചു എന്ന ഫ്ലാഗ് ഒരിക്കലും സംരക്ഷിച്ചിട്ടില്ല എന്നാണ്.

ഉറക്കം, വീണ്ടും ബന്ധിപ്പിക്കൽ, നഷ്ടപ്പെട്ട വിതരണം

ഉറക്കം രണ്ട് ലളിത മാതൃകകളെയും തകർക്കുന്നു. മോണോടോണിക് കൗണ്ട്ഡൗൺ യന്ത്രം ഉറങ്ങുമ്പോൾ നിലയ്ക്കുന്നു, ഭിത്തി ഘടികാരത്തിലെ സമയപരിധി നീങ്ങിക്കൊണ്ടിരിക്കുന്നു, ഉറക്കത്തിനിടയിൽ പ്രവർത്തിക്കുന്ന ടൈമർ വൈകി അല്ലെങ്കിൽ ഒട്ടും എത്തുന്നില്ല. നിങ്ങളുടെ ആവശ്യകതയ്ക്ക് ഏത് പെരുമാറ്റം വേണമെന്ന് തീരുമാനിച്ച്, പരിധി കടന്ന് യന്ത്രത്തെ ഉറക്കി സ്ഥിരീകരിക്കുക.

വിതരണത്തിനും അതേ ശ്രദ്ധ അർഹതയുണ്ട്. അറിയിപ്പ് കാണിക്കാനാവില്ലെങ്കിൽ അത് ക്യൂവിൽ വയ്ക്കുക, അവസാനമായി കാണിക്കുന്നതിന് മുൻപ് ലക്ഷ്യ സെഷൻ ഇപ്പോഴും നിലനിൽക്കുന്നുവെന്ന് വീണ്ടും പരിശോധിക്കുക; അല്ലെങ്കിൽ ഇതിനകം അവസാനിച്ച കണക്ഷനെക്കുറിച്ച് ഉപയോക്താവിന് മുന്നറിയിപ്പ് നൽകുന്നു. നിർബന്ധിത വിച്ഛേദനവും ക്രെഡൻഷ്യൽ പുതുക്കലും ഈ വഴിക്ക് പുറത്ത് നിൽക്കുന്നു, കാരണം കണക്ഷന്റെ വിധി നിശബ്ദമായി മാറ്റുന്ന ഓർമ്മപ്പെടുത്തൽ അറിയിപ്പിന്റെ വേഷമണിഞ്ഞ ഒരു നയ തീരുമാനമാണ്.

അനുബന്ധ ലേഖനങ്ങൾ