Autor | Zpráva | ||
---|---|---|---|
jiberan Profil |
#1 · Zasláno: 20. 12. 2009, 12:32:01 · Upravil/a: jiberan
Mam stránky, který se pomocí instalace daj dát na jakejkoliv server. Ale potřeboval bych automaticky spouštět nějakej skrypt v php. Bohužel každej server má crona umístěnýho jinde.
Nevíte někdo, jak na to??? Napadlo mi, že by se po instatlaci spustil nějakej soubor, který by prostě čekal např. 24 hodin a pak by spustil nějakej skrypt a taky sám sebe znova. Ale absolutně netušim, jak na to. Jelikož php by muselo pořád něco dělat, což by vytěžovalo server. |
||
Leo Profil |
#2 · Zasláno: 20. 12. 2009, 12:34:58
Nikde Vám nepovolí aby PHP skript běžel 24 hodin, Leo
|
||
Alphard Profil |
#3 · Zasláno: 20. 12. 2009, 12:36:34
Neznám nějaké univerzální řešení, dost možná není. Někam prostě vypište adresu a interval, v jakém se má spouštět, a doufejte, že si s tím administrátor nějak poradí.
|
||
jiberan Profil |
#4 · Zasláno: 20. 12. 2009, 12:41:32
Narazil jsem na funkci sleep () v php, tak už jenom zajistit aby server neukončil skript, i když bude jenom čekat.
|
||
Alphard Profil |
#5 · Zasláno: 20. 12. 2009, 12:48:06
sleep() je na jiné věci, určitě ne na uspání na celý den :-) Hostingů, kteří vám povolí běžet script tak dlouho, bude mnohem méně než těch, kde je cron.
|
||
Nox Profil |
#6 · Zasláno: 20. 12. 2009, 12:50:15 · Upravil/a: Nox
Je nutné aby se to spouštělo v určitou dobu nebo se to může spustit při návštěvě prvního člověka po tom čase?
Pokud by to nebyl problém, tak si můžeš vytvořit v DB (nebo jinak uložit) tabulku s akcemi co se mají vykonat, příp. s jejich náročností a prioritou (aby nedošlo k max execution time exceeded) a obsloužit to v rámci návštěvy prvního člověka po čase kdy se měl cron spustit |
||
jiberan Profil |
#7 · Zasláno: 20. 12. 2009, 13:13:52
Nox:
Nad tim jsem přemejšlel, ale potřebuju aby se to spouštělo každej den cca stejně. |
||
Yur4Y Profil |
#8 · Zasláno: 20. 12. 2009, 13:36:50
jiberan:
Uložte si do DB číslo dňa, kedy bol "cron" naposledy spustený. Vždy pri spustení skriptu skontrolujte, či uložený deň je taký istý ako aktuálny. Ak nie je, spustite "cron" a prepíšte záznam v DB. |
||
jiberan Profil |
#9 · Zasláno: 20. 12. 2009, 13:59:06
Yur4Y:
To mi ovšem při nízké návštěvnosti nezaručí pravidelnost. |
||
pollo22 Profil |
#10 · Zasláno: 21. 12. 2009, 10:12:19
jiberan:
Nevadi že v tom nebudete mať pravidelnosť ked to predsa nikto neuvidi. A hned ako pride prvy uživateľ napr po 24 hodinách tak cron predsa prebehne... |
||
Joker Profil |
#11 · Zasláno: 21. 12. 2009, 10:26:45
pollo22: Nevíme co to je za skript, takže těžko odhadovat, jestli je nebo není nutné ho spouštět v přesný čas. Je ale pravda, že většinou to nutné není.
Takže jiberan: Co ten skript má dělat? Možná nejjednodušší řešení by bylo prostě cron nepotřebovat. |
||
Časová prodleva: 14 let
|
0