Jump to content
php.lv forumi

alternatīvs cronjobiem


laucinieks

Recommended Posts

Sveiki,

Vai ir kāds alternatīvs cronjobiem?

Ir vajadzīgs kaut kas šāds -

Pēc formas aizpildīšanas, datubāzē ievadās dati.

Scriptam vajadzētu ņemt no datubāzes datus, katru stundu pareizināt tos ar 10 un ievietot citā datubāzē. Tie dati katram useram būs citādāki, un db tabula ir apmēram šāda -

**id**user_id**count**

----------------------------

**1**3**300**

**2**44**2000**

...

 

Apmēram 3000 useri ,tāpēc ja lieku uz cronjobu, tas iespējams pat nobremzēs serveri, kamēr scripts izies cauri tiem 3000 useriem un ievietos to katru stundu citā tabulā. Tāpēc ceru, ka varēsiet iedot kādu padomu šajā lietā.

Ja nenobremzēs protams lietošu cronjobus :).

Ar cieņu,

L.

Link to comment
Share on other sites

Hmm, nu praktiski ir tā kā teicu tā paša tabula.

Ir kaut kāds lauks, apzīmēsim to ar count (nav svarīgi, kas tas ir pašlaik).

Tātad datubāzes tabula mums izskatās -

**id**user_id**count**

Tātad, pieņemsim cilvēks ar user_id aizpilda formu un pie count ieraksta 3, tad automātiski datubāzē ievietojas -

**1**4(pieņemsim ka lietotāja id ir 4)**3**

Tālāk sākas atskaite, ik pēc 1h, kamēr lietotājs atkal nesamainīs laukā ciparu, 3 tiks sareizināts ar 10 un tiks ievietots otrā datubāzes tabulā ar nosaukumu skaitli

**id**user_id**points**

Tas izskatīsies apmēram šādi -

**1**4**0 + ar katru stundu tiks pievienots 30 klāt (pēc 10 stundām vajadzētu būt 300, protams ja lietotājs to skaitli samainīs uz 2 tad jāskatās, kā mainīsies viss)**

 

Respektīvi, vēlos panākt to, lai cilvēkam nesēžot mājaslapā katru stundu skaitītos klāt punktu skaits.

Ceru ka sapratāt domu.

Ar cieņu,

L.

Edited by laucinieks
Link to comment
Share on other sites

Hmm, biju iedomājis, jau par šādu ideju, bet tāda sajūta, ka tas radīs atkal problēmas (Ko dara ja tas lietotājs to stundu piemēram nostaigā pa lapu, tad viņam jāiziet ārā no lapas, un jāielogojas atkal, lai punktu tiktu pieskaitīti, pareizi? Var protams uzlikt, arī pārbaudes kamēr ir ielogojies lai atsevišķi pieskaita, bet nu tas manuprāt radīs sarežģījumus, ja nē, tad taisu šādu variantu augšā.). Jebkurā gadījumā, es vēlos uzzināt pēc iespējas labākas/efektīvākas iespējas kā to izdarīt.

Ar cieņu,

L.

Edited by laucinieks
Link to comment
Share on other sites

> Jebkurā gadījumā, es vēlos uzzināt pēc iespējas labākas/efektīvākas iespējas kā to izdarīt.

 

Tas, ko **nemakuphp** teica.

 

> Ko dara ja tas lietotājs to stundu piemēram nostaigā pa lapu, tad viņam jāiziet ārā no lapas, un jāielogojas atkal, lai punktu tiktu pieskaitīti, pareizi?

 

A? Tev ir metode get_points(). Metode nočeko laiku, kad pēdējo reizi lietotājs ir bijis aktīvs (vai jebkāds cits laika atskaites punkts). Izrēķinot pagājušo laiku ņemot vērā laika atskaites punktu, izrēķinam lietotāja punktu daudzumu. Nekādas n'tās tabulas, kur tiek glabāts, citiem vārdiem sakot, eksprešens (x * 10), nevis dati kā tādi.

 

P.S. Apnicis skaidrot vienu un to pašu saistībā ar cron-jobiem - tjipa to, ko tikko pastāstīju. Varu derēt, ka forumā pēdējā gada laikā ir bijušas **vismaz** desmit diskusijas par šo pašu tēmu.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...