Autor | Zpráva | ||
---|---|---|---|
cron Profil * |
#1 · Zasláno: 15. 6. 2010, 19:29:47
Ahoj, chystám se přidat do své již vytvořené aplikace (redakčního systému) automatické aktualizování informací v noci pomocí Cronu.
1) Bude tato aktualizace uživatelům fungovat (stáhnou-li si jí a nahrají na svůj server)? Tzn. podporují Cron všechny hostingy? 2) Pokud ano, nebudou muset v administraci něco nastavovat? Nemám s Cronem zatím žádné zkušenosti, takže nevím co to pro ně bude obnášet... Prostě jestli to zvládne běžný uživatel. Díky moc |
||
Keeehi Profil |
#2 · Zasláno: 15. 6. 2010, 19:31:27
cron:
1) - Cron není podporován všemi hostingy 2) - Ano, bude si to muset v administraci nastavit. |
||
cron Profil * |
#3 · Zasláno: 15. 6. 2010, 19:36:10
Keeehi:
Díky :) Takže je lepší se mu v tomto případě (RS) vyhnout? Pokud si uživatel nahraje systém na hosting bez Cronu, tak by teda asi nefungoval... |
||
Keeehi Profil |
#4 · Zasláno: 15. 6. 2010, 19:44:59
cron:
No udělat by to šlo. Podmínkou by bylo, aby při stahování RS zadal i url, kde bude potom i umístěn. Tuto url by jsi mohl volat cronem ty a tím ten aktualizační script "zaktivovat". Takovouto možnost bych ale asi nedělal, nechal bych, aby si to aktualizovali sami (mě osobně vadí, když mě nějaký program do aktualizace nutí, nebo ji dokonce udělá sám za mými zády. Ten update script napsat můžeš, ale jeho spouštění bych nechal na uživateli.) |
||
cron Profil * |
#5 · Zasláno: 15. 6. 2010, 19:53:08
Keeehi:
"No udělat by to šlo. Podmínkou by bylo, aby při stahování RS zadal i url, kde bude potom i umístěn. Tuto url by jsi mohl volat cronem ty a tím ten aktualizační script "zaktivovat"." Tomu moc nerozumim, mohl bys to vysvětlit trochu jednodušeji? Já jsem si myslel, že pokud webhosting, na který uživatel RS nahraje, nebude podporovat CRON, tak už je to prostě problém a nedá se s ním nic dělat... |
||
Keeehi Profil |
#6 · Zasláno: 15. 6. 2010, 20:09:23
cron:
1) vytvoříš script aktualizace.php, který pokaždé když bude zavolán, stáhne aktualizace 2) tento script se dá spustit cronem, ale dá se taky spustit takto: http://adresa-uzivatele.cz/scripty/aktualizace.php 3) pokud ti tedy ten kdo si bude RS stahovat napíše i adresu na které potom bude (adresa-uzivatele.cz) můžeš potom vytvořit u sebe na servru script aktivuj.php, který jenom prostě pomocí některé funkce (např. file_get_content, měla by snad stačit i get_headers) zaktivuje aktualizační scripty u těch uživatelů. aktivuj.php get_headers(http://adresa-uzivatele-1.cz/scripty/aktualizace.php); get_headers(http://adresa-uzivatele-2.cz/scripty/aktualizace.php); get_headers(http://adresa-uzivatele-3.cz/scripty/aktualizace.php); 4) Script aktivuj.php budeš spouštět svým cronem. Ty adresy samozřejmě budeš nejspíš načítat z databáze, ale pro názornost jsem to udělal takto. Znovu připomínám, že bych to osobně nedoporučoval. |
||
cron Profil * |
#7 · Zasláno: 15. 6. 2010, 20:10:28
Už jsem to pochopil, ale dalo to práci.. :)
Můžeš uvést alespoň 2 hostingy, které nepodporují Cron? Zatím jsem na takový nenarazil... |
||
panther Profil |
#8 · Zasláno: 15. 6. 2010, 20:13:48
cron:
„Můžeš uvést alespoň 2 hostingy, které nepodporují Cron?“ C4, active24, Forpsi, Český Hosting, Ignum, ... Spíše by se daly vypsat ty, které nepodporují. Někde může být Cron za příplatek. |
||
cron Profil * |
#9 · Zasláno: 15. 6. 2010, 20:15:21
panther:
Díky moc |
||
cron Profil * |
#10 · Zasláno: 15. 6. 2010, 20:17:15
panther:
C4 ho podporuje ne? # PHP, CRON, mod_rewrite (optimalizace URL pro SEO), .htaccess viz http://www.webhosting-c4.cz/ |
||
panther Profil |
#11 · Zasláno: 15. 6. 2010, 20:19:08
|
||
cron Profil * |
#12 · Zasláno: 15. 6. 2010, 20:22:40
panther:
Zrovna Forpsi ale Cron nepodporuje, pouze nabízí nějakou jinou službu http://kb.forpsi.com/article.php?id=172 |
||
Petr_ Profil * |
#13 · Zasláno: 15. 6. 2010, 20:33:06
Tohle se dá jednoduše obejít i bez CRONu. Pokud bude na daném webu alespoň minimální návštěvnost (a k tomu můžou posloužit i BOTi), tak lze udělat podmínku (ještě před tím, než se začne načítat obsah kterékoliv stránky), že první "návštěvník/BOT" pro daný daný den prostě zároveň před načtením stránky spustí ten soubor aktualizačních příkazů a sám už pak tím pádem dostane aktualizovanou verzi. Třeba v databázi si pak zároveň uložíš, že už aktualizace pro daný den byla provedena, aby se s dalšími návštěvníky už zbytečně neprováděla. A tak pořád dokola.
Pokud to, co tím CRONem chceš provádět, netrvá moc dlouho, tak ten mnou popsaný v praxi udělá naprosto to samé a rozdíl naprosto nikdo nepozná. Obecný princip: Stačí tabulka "aktualizace" s jedním sloupcem "datum". V případě provedení aktualizace se do ní vloží aktuální datum. SELECT datum FROM aktualizace WHERE datum = CURDATE(); a) Pokud dotaz vrátí prázdný výsledek, znamená to, že aktualizace ještě nebyla provedena, spustí se daný aktualizační skript a do tabulky se zapíše aktuální datum. b) Pokud dotaz vrátí neprázdný nenulový počet řádků, znamená to, že aktualizace už provedena byla a není třeba nic dále provádět. |
||
Časová prodleva: 15 let
|
0