Jak aktualizujete webové aplikace? Přes FTP přepíšete soubory za novější? Co se dá říci o chování webu v průběhu přepisování?

Asi jen to, že bude naprosto nepředvídatelné. V lepším případě náhodný návštěvník uvidí prázdnou stránku (Fatal Error), v horším případě citlivé informace či nechtě způsobí poškození dat.

Nejde jen o to, že v každém okamžiku je na webu jiný mix starých a nových souborů, ale že zrovna kopírovaný soubor může být v tom nejnepříjemnějším místě přerušený. Prázdný soubor (require je spokojeno), jenž má obsahovat důležitou tabulku práv, může k neštěstí stačit.

Vždyť je to jen vteřinka

Jednak, neříká se vteřina ale sekunda :) a za druhé, internetové spojení a elektrika si dobře vybírají, kdy vypadnout, a takhle chvíle je k tomu jako stvořená.

Navíc ona to sekundička není. Třeba La Trine zobrazuje ve špičce stránku každých 5 sekund a tak bleskově CMS rozhodně neupgradnu.

Co s tím?

Na podobné situace jsou nejlépe vyzbrojeny databáze: mají transakce. U souborových systémů si musíme poradit jinak. Třeba novou verzi nahrát do dočasného adresáře a ten pak přejmenovat.

Z důvodu rychlého (skoro)atomického uploadu také vytvářím tzv. „compact“ verze open-source aplikací. Návod na stlačení skriptů jsem uveřejňoval už dříve.

A japato děláte vy? Spoléháte na štěstí?