Autor Zpráva
Darker
Profil
Chtěl bych napsan skript který by sám od sebe něco udělal. Třeba mi v poledne poslal mail, že je poledne, nebo o půlnoci smazal nějaký soubor.
Skoro bych si tipnul že PHP to neumí, pak tu vyvstává otázka, co to umí. Newslettery a podobné pitomosti mi chodí pořád, takže to asi nějak jde.
Napadlo mě nějak PHP skript zacyklit sama do sebe, a nechat ho kontrolovat, jestli už nastala správná chvíle. Například pomocí takovéhle koncepce:
if(!file_get_contents("bezi.dat")/*neexistuje soubor, coz znamená, že se skript se nezacyklyl*/){
/*vytvoř soubor se správou o tom že skript běží*/
file_put_contents("bezi.dat","Běžim...");
/*zavolej sama sebe přes curl*/

if($datum_a_cas==$cas_kdy_se_neco_stane/*kontrola té pravé chvíle*/){
/*NĚCO UDĚLEJ!*/
}
}

Samosebou tohle je jen koncepce, a asi by to moc nefungovalo, a proto se ptám, jestli je nějaká smysluplnější alternativa, než tohle naprasím.
Joker
Profil
darker:
vyvstává otázka, co to umí
CRON
Taps
Profil
darker:
ano, hledej cron. Ten udělá to že v daný čas spustí skript.
Nox
Profil
cronem můžeš spouštět periodicky skript co něco vykoná... myslim že je tam nějaký minimální interval v řádu minut pod který to nenastavíš (asi)

na hostinzích to někdy bývá, ale většinou je to minimum zvýšený (třeba 15 nebo 30minut)

jde teda udělat třeba skript co se pustí o půlnoci a promaže databázi, další ve 23:00 co pošle maily atd., pak nějaký každé 3 hodiny co udělá něco jiného

je vhodné ošetřit aby nešlo spouštět skript běžně z netu



v tvé koncepci... "cyklit sama do sebe" zní škaredě... normálně bys mohl mít while() + sleep/usleep, což se používá třeba při Long pollingu
Darker
Profil
Taps:
hledej cron
Bude mi chodit na freehostinzích?

Nox:
while() + sleep/usleep
To mě napadlo jako první. Ale je tu zádrhel s tím že existuje limit na dokončení skriptu, obyčejně 20s. Na cizím hostingu, třeba na swebu to nemůžu vypnout, takže to by nešlo.
Sám jsem žekl že to cyklení je prasárna.
sdfsdfrtertet
Profil *
cron je minimalne 1min ale na webhostingu malokdy je povolenej minutovej
Darker
Profil
Ale je tam, to je hlavní, ne? V nejhorším spustíš tři, čtyři paralelně a je po problému. Pokud se mýlím žádám oprevu, ještě tu věc neznám...
Nox
Profil
Jak kde... na freehostinzích si dost nejsem jistej, spíš bych řekl že ne. Na webhostinzích myslim většinou ano

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0