Autor | Zpráva | ||
---|---|---|---|
Darker Profil |
#1 · Zasláno: 8. 9. 2010, 16:17:28 · Upravil/a: Darker
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 |
#2 · Zasláno: 8. 9. 2010, 16:24:23
darker:
„vyvstává otázka, co to umí“ CRON |
||
Taps Profil |
#3 · Zasláno: 8. 9. 2010, 16:25:05
darker:
ano, hledej cron. Ten udělá to že v daný čas spustí skript. |
||
Nox Profil |
#4 · Zasláno: 8. 9. 2010, 16:25:26 · Upravil/a: Nox
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 |
#5 · Zasláno: 8. 9. 2010, 18:06:24
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 * |
#6 · Zasláno: 8. 9. 2010, 20:11:50
cron je minimalne 1min ale na webhostingu malokdy je povolenej minutovej
|
||
Darker Profil |
#7 · Zasláno: 8. 9. 2010, 20:17:28
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 |
#8 · Zasláno: 8. 9. 2010, 20:25:36
Jak kde... na freehostinzích si dost nejsem jistej, spíš bych řekl že ne. Na webhostinzích myslim většinou ano
|
||
Časová prodleva: 14 let
|
0