შეტყობინება გამოჩნდა დაკავშირებიდან ოცი წუთის შემდეგ. მის ქვეშ არსებული მთვლელი მუშაობდა წინა დილიდან, ან ანგარიშის ბოლო ავთენტიფიკაციიდან მოყოლებული, და გაფრთხილებაში არაფერი არ ამბობდა, რომელი. ეს არის სიმპტომი: შეხსენება, რომელიც თქვენ წინაშე არსებულ კავშირზე სხვა რამეზეა მიბმული.

გამოსწორება უკეთესი გაფრთხილება არ არის. ეს არის გადაწყვეტილება, რომელი საათი გულისხმობს მოთხოვნას, და შემდეგ ტაიმერის იმ ობიექტზე მიბმა, რომელიც ამ საათში არსებობს.

რა ჩაირთო და რას ითვლიდა

სამი სავარაუდო წყარო ერთსა და იმავე შეტყობინებას იძლევა. კალენდრის წესი მუშაობს ფიქსირებულ ადგილობრივ დროს და ტუნელების შესახებ არაფერი იცის. კლიენტში არსებული მთვლელი გროვდება მანამ, სანამ რომელიმე კავშირი აქტიურია, და გადაურჩება ხელახლა დაკავშირებებს. კარიბჭის პოლიტიკა სესიას სერვერის მხრიდან ამთავრებს და ჯერ გაფრთხილებას აგზავნის.

მხოლოდ ბოლო ორი ეხება სესიას და არც ისინი თანხმდებიან. კლიენტის მთვლელი ზომავს იმას, რაც ლოკალურმა პროცესმა დააფიქსირა; კარიბჭე ზომავს იმას, რაც მან ავთენტიფიცირა და აღრიცხა. ძილმა, ქსელის შეცვლამ ან დამკვირვებლის გადატვირთვამ შეიძლება ისინი საათობით გააშოროს, და ამიტომ გაფრთხილება და იძულებითი ვადის გასვლა ერთმანეთს შორდება.

სამი საათი ერთი მოთხოვნის უკან

დაიწყეთ იმ წინადადების ჩაწერით, რომელიც ნამდვილად გსურთ. გაფრთხილება მანამ, სანამ კარიბჭე ამ კავშირს დაასრულებს, არ არის იგივე მოთხოვნა, რაც ერთი დღის დაკავშირებული დროის შემდეგ შეხსენება. ეს ასევე არ არის იგივე, რაც შეტყობინება, რომ ეს სესია 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

უყურეთ დროის ნიშებს და არა ფორმულირებას. შეტყობინება, რომელიც წინა სესიის დაწყების დროით მოდის, არასწორ ობიექტზეა მიბმული, ხოლო შეტყობინება, რომელიც ერთ ვადაზე ორჯერ მოდის, ნიშნავს, რომ გაგზავნის დროშა არასოდეს შენახულა.

ძილი, ხელახლა დაკავშირება და დაკარგული მიწოდება

ძილი ორივე გულუბრყვილო დიზაინს ამტვრევს. მონოტონური ათვლა ჩერდება, სანამ მანქანა ძინავს, კედლის საათის ვადა აგრძელებს მოძრაობას, ხოლო ტაიმერი, რომელიც ძილის დროს ირთვება, გვიან ან საერთოდ არ მიდის. გადაწყვიტეთ, რომელი ქცევა სჭირდება თქვენს მოთხოვნას, შემდეგ გადაიყვანეთ მანქანა ძილში ზღვრის გავლით და დაადასტურეთ.

მიწოდება იმავე ზრუნვას იმსახურებს. თუ შეტყობინებას ვერ აჩვენებთ, ჩასვით ის რიგში და სანამ საბოლოოდ აჩვენებთ, კვლავ შეამოწმეთ, რომ სამიზნე სესია ჯერ კიდევ არსებობს; თორემ მომხმარებელი გაფრთხილდება უკვე დასრულებულ კავშირზე. იძულებითი გათიშვა და სერტიფიკატის განახლება ამ გზის გარეთ რჩება, რადგან შეხსენება, რომელიც ჩუმად ცვლის კავშირის ბედს, შეტყობინების სამოსში ჩაცმული პოლიტიკის გადაწყვეტილებაა.

დაკავშირებული სტატიები