La stato de la laboro diras sukceson, la protokolo montras finitan rulon, kaj la datumoj estas malnovaj aŭ mankas. Tiu kombinaĵo kutime signifas, ke la planita tasko ekis sen la vojo, kiun ĝi bezonis, kaj io pli malsupre englutis la malsukceson. Horaro, kiu ekfunkcias ĝustatempe, diras nenion pri tio, ĉu la reto estis preta. La breĉo inter tiuj du faktoj estas kie ĉi tiu malsukceso vivas.

Akcepto apartenas al la rulo, ne al la ekzisto de cron-dosiero.

Verda rulo ne estas finita laboro

Planilo notas, ke procezo ekis kaj poste eliris; ĝi havas neniun ideon, ĉu tiu procezo atingis la rimedon, por kiu ĝi ekzistas. Skripto, kiu traktas malsukcesan konekton kiel malplenan rezulton, aŭ kaptas eraron kaj eliras kun nulo, aspektos sana por ĉiam. La simptomo ne estas ruĝa stato; ĝi estas kredinda stato alkroĉita al mankanta laboro.

Nomu, kion la rulo efektive bezonas antaŭ ol decidi kiel kontroli ĝin. Savkopio eble bezonas privatan DNS kaj aŭtentigitan finpunkton, ne nur tunelan procezon.

Kontrolu la konekton, ne la interfacan nomon

Interfaco nomita tun0 povas ekzisti sen la grava seanco, kaj alia konekto povas posedi tiun nomon. Kontrolu la konkretan objekton, de kiu la tasko dependas: unu profilan identecon, unu servan kazon, aŭ malgrandan aprobitan operacion kontraŭ la rimedo. Tenu la kontrolon tempolimigita, kaj tenu akreditaĵojn ekster procesaj argumentoj kaj diagnozaj protokoloj.

Difinu ankaŭ la senkonektan rezulton. Ordinara preterlaso, reprovo ene de mallonga fenestro kaj por la operatoro videbla maltrafita limdato estas tri malsamaj respondoj, kaj ripetiĝanta horaro ne elektas inter ili.

Preterlasoj kaj malsukcesoj estas malsamaj rezultoj

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

En systemd-lokado, ExecCondition= rulas tiun kontrolilon antaŭ la laborŝarĝo. Ĝia elira konduto estas specifa: nulo daŭrigas, kodoj de unu ĝis 254 preterlasas la ceterajn startkomandojn sen marki la unuon kiel malsukcesan, kaj 255 aŭ nenormala finiĝo malsukcesigas ĝin. Tio donas tri apartajn signalojn, utilajn nur se la kontrakto de la kontrolilo estas intence mapita al ili. Agordoj, kiuj redefinas sukceson, povas ŝanĝi la bildon, do dokumentu la mapadon.

Registrado de preterlasoj estas tio, kio faras la dezajnon honesta. Preterlasita rulo, kiu aperas nenie, ne estas distingebla de rulo, kiu sukcesis, kaj trakti ĉiun kontrolileraron kiel silentan preterlason kaŝas rompitan lokadon senfine.

Gardu la tutan rulon, ne nur la starton

Pretiga kontrolo observas la mondon antaŭ lanĉo; ĝi ne patrolas ĉiun soketon poste. Kiam rekta vojo neniam estas akceptebla por ĉi tiu tasko, aldonu aprobitan elirpolitikon, kiu estas plenumata kontinue kaj kovras DNS, IPv6 kaj la propran transporton de la tunelo. Ŝalti la tutmondan IPv6-staton de la gastiganto ne anstataŭas limigitan politikon por la tasko.

Decidu, ĉu nova evento rajtas interkovri ankoraŭ ruliĝantan laboron, tenu tiun regulon ĉe la posedanto de la laborŝarĝo, kaj faru reprovon sekura por la datuma operacio. Haltigi taskon ĉe malkonekto limigas laboron sen garantii ion pri rezerva trafiko.

Akceptu la laborfluon en tri kazoj: preta vojo, neatingebla vojo kaj perdo dum la rulo. Io ajn malpli testas la horaron, ne la laboron.

Rilataj artikoloj