» »

Background proces & PHP

Background proces & PHP

Tr0n ::

Ok, po vec urnem prebiranju raznih tutorialov, dokumentacij in zbirk kode, se vedno ne vem, kaj bi bila najboljsa resitev (exec, system, backtick, cron,...).

Konkreten problem. Online drazba alias avkcija. Uporabnik bi rad pac nekaj dal na drazbo, nastavi koliko dni naj bo zadeva na drazbi (Bolha.com sistem). Shrani se zacetek in konec drazbe. Do sem ok.

Kako v ozadju preverjat, kdaj se drazba konca brez dodatnega poganjanja skripte? Namrec, ko se drazba konca, se o tem obvesti uporabnika (ali so bile ponudbe, katera je najvisja,...). Ce ni bilo ponudb se ta ista drazba oznaci kot neaktivna oz. zastarela. Vendar to vse brez, da bi moral nek uporabnik obiskat stran. Lahko bi recimo na prvi strani vedno preverjal datume, ampak to se mi zdi neucinkovito.

Kako ima npr. Slo-Tech narejano, ko nekdo pozabi geslo, da je aktivacijski link oz. zacasno geslo dostopno samo dolocen cas?
  • premaknil: Senitel ()

darh ::

ehm... teoretično...

narediš eno skriptico, ki jo poženeš in pustiš zagnano.. kaj dela? Preveri kdaj se more zbudit in naredit nekej. Skonekta se na bazo, in dobi nazgodnejši datum, zračuna za kolko časa mora zaspančkat in to naredi, ko se prebudi pa opravi ustrezne taske.

Se pa pojavi problem, če kdo vnese nek task za čas pred tem ko se skripta zbudi... pol pa lahko lepo ubiješ pa še enkrat zaženeš... al pa se s kakimi socketi poigraš.. da se skonektaš pa poveš skripti naj še enkrat preveri stanje....

...


Sicer se mi pa neč ne zdi narobe, da bi z cornom zaganjou skripto vsako uro in preverjal kaj je za narest... če bi rad bil bolj točen pa skombiniraš z zgornjo idejo...
Excuses are useless! Results are priceless!

sekundek ::

Oj!

v tem sploh ne vidim problema. V bazi imas verjetno kak status flag, recimo valid, in ce je false potem ti na webu to ne kaze, ker lahko das temu stolpcu index bo to zlo hiter delal.

Potem pa imas en stolpec validthru ki je nek datum z uro in sekundam.

in zdej enostavno daj eno skripto v cron na 5 min ali pol ure (odvisno od obiska), ki bo nardila en update na podlagi validthru je za cca 10 dni od danasnjega. en sql stavek in to je to.

S socketi se ti ne splaca spilat, bos mel vec problemov kot koristi. isto je bedarija nek daemon delat.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Za mobilne frekvence 150 milijonov evrov za 15 let

Oddelek: Novice / Omrežja / internet
208550 (6373) poweroff
»

Predkupna pravica

Oddelek: Loža
104111 (3746) fosil
»

Kam grejo zasežena vozila?

Oddelek: Loža
3716175 (11012) amigo_no1
»

eBay zajebancija?!?

Oddelek: Loža
386052 (5253) Okapi
»

Dražba

Oddelek: Slo-Tech
272102 (1757) OZZY

Več podobnih tem