Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Linux server - ako správne aktualizovať cieľ symlinku

Zdravím,

v práci mám CMS, ktoré vyvíja pre nás materská pobočka a ja ho pri vydaní novej verzie aktualizujem takto:

CMS sa načítava na stránky na základe symlinku cms smerujúceho na priečinok cms1. Po vyprodukovaní novej verzie CMS z materskej pobočky si nahrám novú verziu na server do priečinka cms2, prispôsobím potrebám našej pobočky a potom prepnem tak, že symlink cms nasmerujem na cms2 a zároveň priečinok cms1 premenujem na cms1-old.

Problém tohto postupu je, že spôsobuje niekoľkominútové výpadky našich webov, a preto ho musím robiť mimo svojej pracovnej doby. Rád by som to robil nejako inak. Prečo dochádza k tomu, že po prepísaní symlinku si weby nedokážu ihneď nájsť správne súbory a trvá pár minút, kým sa rozbehnú a dá sa to nejako obísť?

Předmět Autor Datum
Prečo dochádza k tomu, že po prepísaní symlinku si weby nedokážu ihneď nájsť správne súbory a trvá p…
Michal2 07.07.2022 22:06
Michal2
Aplikace neprovádí nějaký refreš, aby si načetla nový link. Musíš to řešit s výrobcem aplikace.
Rce 07.07.2022 23:16
Rce
Některé weby používají cache, některé prohlížeče taky, takže když se změní obsah souboru, tak se to…
gilhad 07.07.2022 23:46
gilhad
Je otázkou, zda by postup "změna symlinku", "restart aplikace" nevedl k výrazně kratšímu výpadku (sp… poslední
haseimpfeffer 07.07.2022 23:59
haseimpfeffer

Některé weby používají cache, některé prohlížeče taky, takže když se změní obsah souboru, tak se to může projevit až po nějaké době.
Další otázka je, jak je ta aplikace psaná a co všechno se stane tou změnou CMS. (Napřiklad otevřený soubor se nezmění, dokud ho znovu neotevřeš, i když jsi ho mezitím smazal, nebo přejmenoval.)

Změna symlinku by se měla projevit okamžitě ve chvíli, kdy ten symlink uložíš, což ale znamená jen to, že každý následně otevřený (tedy i například spuštěný) soubor z toho symlinku bude ta nová verze. Ale staré soubory ti to samo nezavře.

Je otázkou, zda by postup "změna symlinku", "restart aplikace" nevedl k výrazně kratšímu výpadku (spousta webů se dokáže restartovat skoro okamžitě, otázkou je, co ta aplikace dělá a kde si udržuje jaká data (zvláště ta o platných přihlášeních))

Rozhodně to reportuj jako problém oficiálními kanály (bugreport, ticket, nebo co ve firmě máte)

Je otázkou, zda by postup "změna symlinku", "restart aplikace" nevedl k výrazně kratšímu výpadku (spousta webů se dokáže restartovat skoro okamžitě, otázkou je, co ta aplikace dělá a kde si udržuje jaká data (zvláště ta o platných přihlášeních))

Idea "zmena symlinku" → restart apache sa mi celkom pozdáva, pri najbližšej verzii vyskúšam.

Rozhodně to reportuj jako problém oficiálními kanály (bugreport, ticket, nebo co ve firmě máte)

Samozrejme, spravím.

Zpět do poradny Odpovědět na původní otázku Nahoru