Duminică dăm ceasul înapoi. Serverele nu se bucură de ora în plus

Duminică, 25 octombrie, la ora 4 dimineața, ceasurile din România se dau înapoi la ora 3. Oficial, câștigăm o oră de somn. Neoficial, pe undeva prin lume, un server se uită la ceas, vede că e iar 03:00 și se întreabă dacă nu cumva a mai trăit clipa asta.

Pentru noi, oamenii, ora în plus e un cadou. Pentru calculatoare, e o zi de 25 de ore, cu o oră care se întâmplă de două ori. Și calculatoarele nu se descurcă grozav cu lucrurile care se întâmplă de două ori.

Ce se întâmplă, de fapt, duminică noaptea

Pentru tine, noaptea arată așa: te culci, te trezești, telefonul a schimbat singur ora, iar cafeaua are același gust.

Pentru un server care ține ora României, noaptea arată așa:

  • 03:00, 03:15, 03:30, 03:45, 03:59…
  • și apoi, în loc de 04:00, iar 03:00.
  • 03:15, 03:30, 03:45, 03:59 din nou.
  • abia acum 04:00.

Între 3 și 4 dimineața, fiecare minut există de două ori. Dacă ceva pe server e programat „la 03:30”, întrebarea legitimă e: la care dintre cele două?

De ce le pasă serverelor de ora 3 dimineața

Pentru că noaptea e momentul preferat pentru treburile grele. Când toată lumea doarme și traficul pe site e minim, serverele fac curățenie:

  • backup-urile site-urilor și ale bazelor de date;
  • scanările de securitate, care caută fișiere suspecte;
  • rapoartele zilnice, cu vânzări, vizite sau comenzi;
  • newsletterele programate, care pleacă dimineața devreme;
  • curățarea fișierelor temporare și a jurnalelor vechi.

Ora 3 e, practic, ora de vârf a muncii nevăzute. Și exact ea se dublează duminică.

Ce poate merge prost (varianta cu umor, dar adevărată)

1. Newsletterul care pleacă de două ori

Un program prost scris vede ora 03:30, trimite newsletterul, apoi vede iar 03:30 și se gândește: „Hm, e 03:30, trebuie să trimit newsletterul.” Clienții primesc „Oferta săptămânii” de două ori la o oră distanță, iar câțiva dau click pe „Dezabonare”, convinși că i-ai luat la ochi.

2. Raportul cu o zi de 25 de ore

Raportul de vânzări de duminică arată mai bine decât de obicei. Nu pentru că ai vândut mai mult, ci pentru că ziua a avut o oră în plus. Luni dimineață cineva întreabă, încântat, ce campanie a funcționat atât de bine. Nicio campanie. Doar fusul orar.

Varianta inversă apare în martie, când ziua are doar 23 de ore și cifrele par mai mici. Cineva se sperie degeaba.

3. „Ieri” care nu mai e ieri

Multe scripturi calculează „ieri” scăzând exact 24 de ore din momentul de acum. De obicei merge. Duminică, 24 de ore în urmă înseamnă tot sâmbătă, dar la altă oră decât te aștepți. Un backup „de ieri” poate să lipsească, sau un fișier poate primi aceeași dată ca cel de dinainte și să-l suprascrie.

4. Jurnalele care o iau razna

Jurnalele serverului (logurile) notează tot ce se întâmplă, cu oră exactă. După schimbarea orei, apar intrări de la 03:45 urmate de intrări de la 03:05. Pentru cineva care investighează un atac, asta e un coșmar: ce s-a întâmplat întâi? Atacatorul a intrat înainte sau după backup?

5. Comanda plasată „în viitor”

Un client comandă la 03:50 (prima dată), altul la 03:10 (a doua oară). Pe hârtie, al doilea client a comandat înaintea primului. Dacă magazinul ordonează comenzile după oră, cineva primește coletul în ordinea greșită. Nu e o tragedie, dar e genul de lucru care face un programator să se uite lung în gol.

Liniștește-te: cele mai multe lucruri merg bine

Ca să fim cinstiți: nu se strică internetul duminică noaptea. Programatorul clasic de sarcini din Linux, numit cron, are de mult reguli speciale pentru schimbarea orei. Sarcinile programate la o oră fixă în intervalul care se repetă nu sunt, de regulă, rulate a doua oară. Telefoanele, calculatoarele și majoritatea serviciilor mari își ajustează ora singure.

Problemele apar în locurile mai puțin vizibile:

  • în scripturi scrise de mână, care fac calcule cu ore și date;
  • în aplicații care își țin singure programul (newslettere, rapoarte, sincronizări);
  • în sisteme care comunică între ele, când unul ține ora României și altul ora universală;
  • în rapoarte și facturări pe oră, unde o oră în plus chiar contează.

Secretul administratorilor: serverele nu trăiesc în România

Există o regulă nescrisă printre cei care administrează servere: serverele țin ora UTC, adică ora universală. UTC nu are oră de vară și nici oră de iarnă. Nu se dă niciodată înapoi și nici înainte. Fiecare zi are exact 24 de ore.

Ora României se calculează abia la final, când îi arăți ceva unui om: pe ecran, pe factură, în e-mail. Serverul gândește în UTC, iar omul vede ora locală. Așa, „ora 3” nu se mai întâmplă de două ori pentru nimeni care contează.

Nu toate serverele sunt configurate așa. Multe sunt lăsate pe ora locală pentru că „e mai ușor de citit”. Tocmai de aceea, noaptea de duminică e un mic test pentru configurația lor.

Și WordPress?

WordPress e destul de cuminte la capitolul ăsta. Intern, păstrează datele în UTC și afișează ora din Setări → Generale → Fusul orar. Un singur lucru merită verificat: alege fusul orar ca oraș (de exemplu „București”), nu ca diferență fixă (de exemplu „UTC+3”).

  • Cu „București”, WordPress știe singur când e ora de vară și când e ora de iarnă.
  • Cu „UTC+3”, site-ul rămâne pe ora de vară toată iarna. Articolele programate pentru 9:00 apar la 8:00, iar ora comenzilor din WooCommerce e decalată cu o oră până în martie.

Durează zece secunde și e cea mai utilă verificare pe care o poți face în weekendul ăsta.

Ce poți face tu luni dimineață

  1. Verifică fusul orar din WordPress (Setări → Generale) să fie „București”, nu „UTC+3”.
  2. Uită-te la ora ultimelor comenzi sau mesaje din formulare. Dacă sunt decalate cu o oră, ai găsit problema de mai sus.
  3. Verifică backup-ul de duminică. A rulat? O singură dată? Are dimensiunea obișnuită? Am explicat de ce merită verificat mereu, nu doar după schimbarea orei, în articolul despre backup-urile care nu funcționează.
  4. Nu te panica dacă raportul de duminică arată mai bine decât de obicei. Ziua a avut 25 de ore.

Concluzie

Ora în plus de duminică e un cadou pentru oameni și o mică încercare pentru servere. Cele bine configurate nici nu o observă. Cele lăsate „cum au venit” pot trimite un newsletter de două ori sau pot pierde un backup.

Dacă vrei să înțelegi mai bine ce face site-ul tău în timp ce tu dormi, citește și jurnalul unui site WordPress sau cum arată o zi obișnuită în administrarea de site-uri.

Iar dacă preferi ca altcineva să se gândească la orele care se repetă, la backup-uri și la fusuri orare, cere un audit gratuit. Îți spunem în 24 de ore în ce stare e site-ul tău, fără obligații.

Și bucură-te de ora în plus. Serverele noastre nu dorm oricum.


Descoperă mai multe la WebFixer

Abonează-te ca să primești ultimele articole prin email.

Mastodon