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

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

ჩამოთვალეთ ერთეულები, სანამ რამეს შეაჩერებთ

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

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

დაასრულეთ სამუშაო, შემდეგ შეაჩერეთ მომხმარებელი

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

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

ExecStop და ExecStopPost სხვადასხვა იარაღია

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

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

შემოსაზღვრეთ გაჩერება და იცოდეთ, რა ღირს საზღვარი

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

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

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

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

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

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