Autor Zpráva
3kolik
Profil
Zdravím, mám napsaný určitý skript, který potřebuju spustit v určitý čas. Momentálně to mám na zkoušku na localhostu pomocí Vertrigo. Něco jsem si o tom hledal a našel jsem, že potřebuju jakýsi Cron, ale protože mám localhost na Windowsu, tak abych to mohl vyzkoušet, musim to udělat přes plánové úlohy, ale tam se mi nějak nedaří přijít na to, jak. Co mám zadat do "Program či skript" a co mám zadat do "argument" ?. Děkuji
Amunak
Profil
Na Windows bude asi nejjednodušší to spouštět přes prohlížeč... jako program či skript budeš mít například firefox.exe (měl by být v PATH), nebo tam prostě naklikáš cestu skrz program files ke spustitelnému souboru tvého prohlížeče. Jako parametr (argument) pak předáš adresu stránky (třeba localhost/automaticky-spousteny-skript.php).

Když to budeš dělat na linuxu, použiješ v cronu místo prohlížeče přímo binárku PHP:
0-50/10 * * * * /usr/bin/php /usr/share/www/automaticky-spousteny-skript.php
3kolik
Profil
Amunak:
Takhle jsem to zkoušel, ale nešlo mi to, ale když jsi to napsal i Ty, tak jsem zjistil, že jsem spouštěl špatnej soubor -_- :D Takže díky moc. A ještě jedna technická - tady musim mít zaplej počítač, aby to proběhlo, když to potom hodim někam na ftp, kde seženu Cron a jestli to proběhne nebo ne, bude záležet na tom, jestli bude normálně fungovat jejich server?
Alphard
Profil
Samozřejmě, server musí být v provozu, na to se snad nemusíte ptát :-)
Ale jestli to nebude nějaký nekvalitní freehosting, vůbec bych se toho nebál. Servery jedou 24/7 a výpadky jsou fakt výjimečné (setiny procent a méně, dostupnost přes http je obvykle nad 99.9 %).
3kolik
Profil
Jen tak pro jistotu, zatím dělám s PHP zásadně na localhostu, takže nemám se servery moc zkušeností :D. A abych měl přístup do toho Cronu, musím nějak kontaktovat administrátora, nebo je to v nastavení? Nebo je to podle poskytovatele?
Alphard
Profil
Záleží na hostingu, já pracuji s těmi, kde to lze snadno nastavit v administraci, nebo s VPS, kde se přes ssh přímo upravuje texťák. Slyšel jsem i o takových, kde musíte psát email podpoře, ale nevím, jestli ještě existují, každopádně bych takový neobjednával.
3kolik
Profil
Ok, děkuji :)
Amunak
Profil
Hlavně... Při výpadku serveru je nefunkční cron většinou to poslední, co člověka trápí :) Ale mělo by to být zařízené tak, že pokud se cron třeba jednou neprovede, aby to nemělo nějaký fatální důsledek... Pokud se cron použije třeba k nějakým výpočtům u online hry (typicky připočtení surovin), je potřeba zajistit, aby to nebylo vázané na vykonání toho skriptu, ale třeba na čase. Kdyby se to jednou nevykonalo, tak aby se rozdíl dopočítal a vykonalo se to tolikrát, kolikrát to je potřeba.
3kolik
Profil
Amunak:
O hru jde, ale o sportovní typ, kde se zápasy budou počítat jednou denně.
Amunak
Profil
3kolik:
I tak je lepší provádět nějakou kontrolu.

Jinak cron můžete úplně obejít tak, že všechny výpočty spustíte ve chvíli, kdy se v ten daný den přihlásí první člověk. Pokud nebudou trvat dlouho, nemělo by to ani být moc znát.
3kolik
Profil
Amunak:
Jo, nějakou kontrolu to bude chtít, minimálně proto, aby to nemohl spustit kdokoliv, kdo bude znát cestu k souboru.

Takhle můžu propočítat trénink hráčů, zvýšení kvalit, ale zápasy budu chtít odehrát ve 20:00

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

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