Web-hotellin palvelimella on php-softa jota kotonani oleva kone ajaa muutaman tunnin välein (tilauksien tarkistus ja tulostus). Ihan Firefoxilla ja html:llä tehdään sivun uudelleenlataus.
Välillä palvelimella tai netissä on ruuhkaa, tulee 504 error. Selaimen kaikki mahdolliset proxy/timeout-asetukset on laitettu todella isoille arvoille (50-100x oletusarvot).
Homman idea on toimia automaattisesti koska en ole koko ajan koneen äärellä tietenkään... etenkään vaikka lomareissulla. 504:ään jämähtää ja pitää käydä näppiksellä painamassa F5. Googlettamalla en ole löytänyt mitään käyttökelpoista (resetoi netti, paina F5 jne). Pakkohan tähän on joku koodiratkaisu olla? Koneen boottaus ohjelmallisesti tai esim 230V ajastimella ei ole mahdollinen, koska siellä on useita ajoja.
Mieleen tulee heti kaksi ratkaisua. Palvelimelle custom 504 sivu, jossa on mukana refresh tai sitten selaimeen laajennos, joka tekee saman (tietyssä osoitteessa). Tuollaisia laajennoksia voi löytyä valmiina ja sellaisen koodaaminen myös itse on vallan helppoa.
Voisit kenties myös laittaa uudelleenladattavan sivun iframeen ja sitten emosivulle laittaa sen uudelleenlatauksen.
Koko asian voisi kenties tehdä fiksumminkin vaikka palvelimella ajettavalla ajastuksella.
Ehkä selvin ratkaisu olisi, että sivunlatausta ei tehtäisi selaimella vaan erillisellä ohjelmalla tai komentoriviskriptillä. Esimerkiksi Windowsin PowerShellillä voisi helposti ajaa jotain tällaista:
for (;;) { $url = "http://example" $dest = "tulos.txt" Invoke-WebRequest -Uri $url -OutFile $dest Start-Sleep -Seconds 3600 }
Selaimessakin voit ladata sivun JavaScriptilla. Jos sivua ei tarvitse oikeasti näyttää, se on erittäin helppoa:
setInterval(() => fetch('http://example'), 3600*1000);
Aihe on jo aika vanha, joten et voi enää vastata siihen.