[ Zdravko T1 @ 30.08.2010. 15:57 ] @
| Zamislio sam nekako situaciju da korisnik moze da da unese odredjeno vreme kada ce se pokrenuti odredjeni kod iz skripte.Zamislio sam to tako sto bi u crontab podesio da se skripta izvrsava svake sekunde, proverava vreme trenutno i vreme upisano u bazu te ako je isto da se pokrene taj kod.Veoma je bitno da da se kod izvrsi u tacno odredjeno vreme medjutim izvrsavanje skripte svake sekunde mislim da bi veoma opteretilo server(iako je to samo par linija koda + query), pa me zanima kakva je praksa sto se toga tice u PHP svetu ili je to jedini nacin? |
[ Man-Wolf @ 30.08.2010. 16:04 ] @
Imaj u vidu da nikad neces moci da "nacentriras" skriptu da se pokrece u 100% tacno vreme, tako da, mozda bi mogao da zazmuris i pustis je da se pokrece na svaki minut (ako ti je to prihvatljivo "kasnjenje").
Anyway, ne brini za "opterecenje" severa ... Nema tu opterecenja nikakvog (bar sto se tice te cron skripte i upita :-)) ;)
[ Zdravko T1 @ 30.08.2010. 16:13 ] @
Pa dobro 100% tacno nije mi realno ni potrebno..medjutim ja sam citao da to mnogo opterecuje server ako bi se izvrsavalo tako cesto, doduse postovi sa tog foruma jesu iz 2005 :) Tako da bih voleo da cujem ako je neko imao iskustvo sa tim..
[ Goran Rakić @ 30.08.2010. 16:34 ] @
Zašto ne bi nakon promene generisao novi crontab automatski iz PHP-a? Ili da izbegneš stalno prepisivanje, pozoveš na svakih sat vremena skriptu koja će da proveri ima li novih zakazivanja i ako ima, ispiše novi crontab?
[ Zdravko T1 @ 30.08.2010. 16:56 ] @
Citat: Zašto ne bi nakon promene generisao novi crontab automatski iz PHP-a?
Mislis da posle korisnikovog odabiranja vremena direktno generisem crontab sa tim vremenom kao izvrsavanjem ? Nisam znao da je to moguce u PHPu, mozes dati neki link za primer ?
Citat:
Ili da izbegneš stalno prepisivanje, pozoveš na svakih sat vremena skriptu koja će da proveri ima li novih zakazivanja i ako ima, ispiše novi crontab?
Stvar je u tome sto je moguce zakazati 5 akcija u roku od jednog sata koje bi trebale da se izvrse u npr 1:05, 1:06, 1:25, 1:45, : 1:49 pa ja ne znam interval u kojem bi to trebalo da se izvrsi i sat vremena za proveru bi znacilo da neka akcija kasni i 59 minuta kao recimo zakazana za 1:01, a bitno je tacno u 1:01 da se izvrsi..
[ Nikola Poša @ 30.08.2010. 19:26 ] @
Sa PHP-ovim system() i exec() funkcijama možeš da izvršiš bilo koju komandu, pa i crontab, ali to neće biti od koristi, jer se nakn izvršavanja te komande otvara editor za unos cron task-ova. Možda bi pravo rešenje bilo da izvršiš komandu koja će tu neku liniju koju bi unosio u crontab-u da upisuje u fajl na putanji /var/spool/cron/username. Nisam neki Linux guru, ali mislim da bi ta komanda trebala da izgleda npr. ovako: echo "\n30 * * * * neka_komanda" >> /var/spool/cron/username.
[ Zdravko T1 @ 30.08.2010. 19:50 ] @
Aha..locirao sam kod mene na sistemu je putanja '/var/spool/cron/crontabs/'username .Znaci sve sto treba da uradim je da upisem u taj fajl komandu.Zvuci mi veoma jednostavno i efikasno tako da cu da sigurno pokusati sa tim.Hvala :)
[ kazil @ 30.08.2010. 19:57 ] @
Tip: pre nego sto krenes da upisujes u crontab, vidi pod kojim userom pokreces shell. Za to koristi whoami.
Vici ako zapnes, pa da ti skucam neki skript :)
[ Zdravko T1 @ 30.08.2010. 20:08 ] @
Izgleda da sam niko, 'nobody' :)
Moze pomoc ? :)
[ kazil @ 30.08.2010. 20:25 ] @
Ouch. Je l' to neki shared hosting ili...? Zapravo, mirisi mi na CentOS :)
Jesi pokusao da upises u crontab nesto? Guglajuci izgleda da i nobody ima svoj crontab.
[ Goran Rakić @ 30.08.2010. 20:29 ] @
I niko je neko.
[ kazil @ 30.08.2010. 20:32 ] @
Da, znam, samo nisam mislio/znao da ima pristup stvarima kao sto je crontab.
[ Zdravko T1 @ 30.08.2010. 20:37 ] @
Nije shared, to mi je lokalni pc pod ubuntuom i default XAMP instalacijom.Nisam ni ja znao da ima pristup crontabu zato sam i trazio pomoc a trebao sam odma pokusati.Probacu kao nobody nesto da uradim pa javljam.
[ tahuti @ 31.08.2010. 15:20 ] @
Video sam za Drupal poorman cron, ideja je da kada posetilac sajta klikne na neki link, onda se proveri vreme.
[ kazil @ 31.08.2010. 15:36 ] @
Da, moze i tako da se napravi, ali to jedino u slucaju ako za aplikaciju odgovara i povece kasnjenje (doticni link moze da se ucita i tek nakon 2 dana).
Ako je bitno tacno vreme izvrsavanja (da se ogranicimo na minut), onda je crontab jedino resenje.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|