Autor | Zpráva | ||
---|---|---|---|
3kolik Profil |
#1 · Zasláno: 17. 11. 2013, 11:30:54
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 |
#2 · Zasláno: 17. 11. 2013, 11:38:47
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 |
#3 · Zasláno: 17. 11. 2013, 12:21:42
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 |
#5 · Zasláno: 17. 11. 2013, 12:42:29
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 |
#6 · Zasláno: 17. 11. 2013, 12:45:33
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 |
#7 · Zasláno: 17. 11. 2013, 12:51:12
Ok, děkuji :)
|
||
Amunak Profil |
#8 · Zasláno: 17. 11. 2013, 13:50:32
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 |
#9 · Zasláno: 18. 11. 2013, 19:30:22
Amunak:
O hru jde, ale o sportovní typ, kde se zápasy budou počítat jednou denně. |
||
Amunak Profil |
#10 · Zasláno: 18. 11. 2013, 19:33:43
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 |
#11 · Zasláno: 18. 11. 2013, 21:35:02
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 |
||
Časová prodleva: 10 let
|
0