Darba statuss saka panākumus, žurnāls rāda pabeigtu palaišanu, un dati ir novecojuši vai to nav. Šī kombinācija parasti nozīmē, ka plānotais darbs sākās bez tam vajadzīgā ceļa, un kaut kas lejāk norija kļūmi. Grafiks, kas iedarbojas laikā, neko nepasaka par to, vai tīkls bija gatavs. Tieši plaisa starp šiem diviem faktiem ir vieta, kur dzīvo šī kļūme.

Uzņemšana pieder palaišanai, nevis cron faila pastāvēšanai.

Zaļa palaišana nav pabeigts darbs

Plānotājs fiksē, ka process sākās un vēlāk izgāja; tam nav ne jausmas, vai šis process sasniedza resursu, kuram tas eksistē. Skripts, kas neizdevušos savienojumu uzskata par tukšu rezultātu vai noķer kļūdu un iziet ar nulli, izskatīsies vesels mūžīgi. Simptoms nav sarkans statuss; tas ir ticams statuss, kas piesaistīts trūkstošam darbam.

Nosauciet, kas palaišanai patiešām vajadzīgs, pirms izlemjat, kā to pārbaudīt. Dublējumam var būt vajadzīgs privāts DNS un autentificēts galapunkts, nevis tikai tuneļa process.

Pārbaudiet savienojumu, nevis saskarnes nosaukumu

Saskarne ar nosaukumu tun0 var pastāvēt bez svarīgās sesijas, un cits savienojums var piederēt šim nosaukumam. Pārbaudiet konkrēto objektu, no kura darbs ir atkarīgs: vienu profila identitāti, vienu pakalpojuma instanci vai nelielu apstiprinātu darbību pret resursu. Turiet pārbaudi laikā ierobežotu un turiet akreditācijas datus ārpus procesa argumentiem un diagnostikas žurnāliem.

Definējiet arī atvienotā stāvokļa iznākumu. Parasta izlaišana, atkārtots mēģinājums īsā logā un operatoram redzams nokavēts termiņš ir trīs dažādas atbildes, un atkārtots grafiks starp tām neizvēlas.

Izlaišanas un kļūmes ir dažādi iznākumi

[Service]
Type=oneshot
User=worker
ExecCondition=/usr/local/libexec/check-office-path
ExecStart=/usr/local/bin/private-task

systemd izvietojumā ExecCondition= palaiž šo pārbaudītāju pirms darba slodzes. Tā iziešanas uzvedība ir specifiska: nulle turpina, kodi no viena līdz 254 izlaiž atlikušās starta komandas, neatzīmējot vienību kā neizdevušos, un 255 vai neparasta pārtraukšana to padara neizdevušos. Tas dod trīs atšķirīgus signālus, kas ir noderīgi tikai tad, ja pārbaudītāja līgums apzināti tiek kartēts uz tiem. Iestatījumi, kas no jauna definē panākumus, var mainīt ainu, tāpēc dokumentējiet kartējumu.

Tieši izlaišanu reģistrēšana padara dizainu godīgu. Izlaista palaišana, kas nekur neparādās, nav atšķirama no palaišanas, kas izdevās, un katras pārbaudītāja kļūdas uzskatīšana par klusu izlaišanu neierobežoti slēpj salauztu izvietojumu.

Sargājiet visu palaišanu, ne tikai sākumu

Gatavības pārbaude vēro pasauli pirms palaišanas; tā pēc tam neuzrauga katru ligzdu. Kad tiešs ceļš šim darbam nekad nav pieņemams, pievienojiet apstiprinātu izejas politiku, kas tiek piemērota nepārtraukti un aptver DNS, IPv6 un paša tuneļa transportu. Hostu globālā IPv6 stāvokļa pārslēgšana neaizstāj darbam ierobežotu politiku.

Izlemiet, vai jauns notikums var pārklāties ar vēl notiekošu darbu, turiet šo noteikumu pie darba slodzes īpašnieka un padariet atkārtotu mēģinājumu drošu datu operācijai. Darba apturēšana atvienošanās laikā ierobežo darbu, bet neko negarantē par rezerves trafiku.

Pieņemiet darbplūsmu trīs gadījumos: gatavs ceļš, nepieejams ceļš un zudums izpildes laikā. Viss mazāk pārbauda grafiku, nevis darbu.

Saistītie raksti