Af hverju 23 klukkustunda VPN-áminning fer af stað fyrir ranga lotu
Tilkynning um 23 klukkustundir á að fylgja einni lotu, ekki reikningnum. Festu tímamælinn við tenginguna sem hófst og meðhöndlaðu svefn og endurtengingu sem aðskilin tilvik.
Tilkynningin birtist tuttugu mínútum eftir tengingu. Teljarinn undir henni hafði gengið síðan í fyrramálið, eða síðan reikningurinn auðkenndi sig síðast, og ekkert í viðvöruninni sagði hvor. Það er einkennið: áminning bundin við eitthvað annað en tenginguna fyrir framan þig.
Lausnin er ekki betri viðvörun. Hún er að ákveða hvaða klukku krafan á við, og binda svo tímamælinn við hlut sem er til í þeirri klukku.
Hvað fór af stað, og hvað var það að telja
Þrjár líklegar uppsprettur framleiða sama skilaboðið. Dagatalrsregla gengur á föstum staðartíma og veit ekkert um göng. Teljari í biðlarann safnast á meðan einhver tenging er uppi og lifir endurtengingar af. Stefna gáttar lætur lotuna renna út á netþjónshliðinni og sendir fyrst viðvörun.
Aðeins síðustu tvær snúast um lotu, og þær eru ekki sammála. Teljari biðlarans mælir það sem staðbundna ferlið sá; gáttin mælir það sem hún auðkenndi og gerði upp. Svefn, netbreyting eða endurræsing áhorfandans geta skilið þau að tímum saman, og þess vegna rekur viðvörunin og þvinguð útrunna í sundur.
Þrjár klukkur á bak við eina kröfu
Byrjaðu á að skrifa setninguna sem þú vilt í raun. Að vara við áður en gáttin lýkur þessari tengingu er ekki sama krafan og að minna á eftir sólarhring af tengdum tíma. Það er ekki heldur það sama og að tilkynna að þessi lota hafi verið uppi í 23 klukkustundir. Hver útgáfa nefnir annan atburð, og annar hluti verður að svara honum.
Athugaðu svo hvort gögnin séu til. Staðbundin byrjunarstimpli gefur þér aldur lotunnar án tillits til netþjónsins. Stefna gáttar gefur þér eftirstöðvar líftíma, en aðeins ef gáttin birtir hann. Notkunarskýrsla gefur þér tímalengdina eftir á, og það getur ekki knúið fyrirfram tilkynningu.
Festu tímamælinn við lotuna, ekki reikninginn
Veldu hlutinn fyrst. Reikningur getur haldið nokkrum tækjum og nokkrum samtímis lotum, svo áminning bundin við notandanafnið getur ekki sagt hvaða tenging náði aldrinum. Festu hana við prófílinn og þá virkjun, og afturkallaðu tilkynninguna sem bíður þegar virkjunin endar.
| Evidence you can read | What it establishes | Where it misleads |
|---|---|---|
| Connection state changes to active | A session started now | Does not carry the gateway's own session identifier |
| Duration reported at disconnect | Total service time for that session | Arrives too late for any advance notice |
| Interim usage update | Time accounted up to that update | Staleness equals the update interval |
| Local timestamp taken at activation | Age of your observation | Resets whenever the observer restarts |
Sú tafla er samningur fyrir þinn eigin tilkynnanda, ekki lýsing á endurkalls-API einhvers biðlara. Hvað sem uppsetta varan skjalfestir um stöðu tengingar er uppsprettan sem þú átt að binda þig við; þar sem hún birtir aðeins auðkenningaratburði skaltu segja það hátt og samþykkja grófari hegðun í stað þess að álykta lotu.
Prófaðu með stuttum þröskuldi
Kembdu aldrei sólarhringstímamæli með sólarhringsbíð. Bættu við stillanlegu þröskuldi, settu hann á þrjátíu sekúndur og keyrðu fjórar umskiptingar í röð: tengja, bíða, aftengja, endurtengja. Hver umskipting á að gefa nákvæmlega eina stöðubreytingu, og endurtengingin á að tímasetja nýjan frest í stað þess að erfa þann gamla.
# 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
Fylgstu með tímastimplum frekar en orðalaginu. Tilkynning sem kemur með byrjunartíma fyrri lotu bundi rangan hlut, og tilkynning sem kemur tvisvar fyrir einn frest þýðir að sent-merkið var aldrei vistað.
Svefn, endurtenging og misst afhending
Svefn brýtur báðar barnalegu hönnunina. Einfaldur niðurtalning stöðvast meðan vélin sefur, frestur samkvæmt veggklukku heldur áfram að færast, og tímamælir sem fer af stað í svefni er afhentur seint eða alls ekki. Ákveddu hvaða hegðun krafan þín þarf, settu vélina svo í svefn yfir þröskuldinn og staðfestu.
Afhending á skilið sömu umhyggju. Ef ekki er hægt að sýna tilkynninguna skaltu setja hana í biðröð og athuga aftur hvort marklotan sé enn til áður en þú sýnir hana að lokum; annars er notandanum varað við tengingu sem er þegar lokið. Þvinguð aftenging og endurnýjun skilríkja halda sig utan þessarar leiðar, því áminning sem breytir hljóðlega örlögum tengingarinnar er stefnuákvörðun í klæðum tilkynningar.