WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Ska jag tillämpa ett CRON-job här? (https://www.wn.se/forum/showthread.php?t=1057489)

secag 2013-04-08 17:23

Ska jag tillämpa ett CRON-job här?
 
Vi kommer att ha cirka 5000 aktiva spelare(30 dagar latest_active) och varje spelare kommer då få mer "guld" / timme. Sen så kan man sätt "råna" dessa från andra. Då har jag tänkt såhär att även om man är utloggad så ska allas pengar tickas på varje timme.

Då kan men ej använda metoden att man väntar tills nån loggar in -> ser hur länge -> räknar pengarna ihop med tiden.

Ska man då använda sig utav Cronjobs? Hur tillförlitliga är dom egentligen? Funkar det bra i realtid? Beror det på vilken server? Kan verkligen inte så mycket om det. Men nån har sagt att det är typ en "robot" som kör skript vid en angiven tid. Märks ett cronjob av på webbservern? Vad kan man göra istället om skriptet tar cirka 10 min att köra?

dAEk 2013-04-09 21:13

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
[...]Ska man då använda sig utav Cronjobs?

Ja, det är lämpligt när man vill att något ska triggas utan att någon utför något. Ett annat alternativ kan vara att skapa en service/daemon.

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
Hur tillförlitliga är dom egentligen?

Se till att datum och tidsinställningarna är ok så ska det inte vara några problem. Jag har iaf aldrig varit med om något strul men har å andra sidan inte jobbat så mycket med *nix.

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
Funkar det bra i realtid?

Cronjobs är tänkta att köras vid olika tillfällen eller tidpunkter, dvs de startas och stoppas. Så nej, för realtidslösningar är det inte ett bra val.

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
Beror det på vilken server?

De kommandon man normalt använder för att hantera cronjobs kan nog skilja sig mellan olika typer av *nix-burkar. Vet inte om det var det du menade.

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
Kan verkligen inte så mycket om det. Men nån har sagt att det är typ en "robot" som kör skript vid en angiven tid.

Ja, typ. Det är inte alls krångligt. Tänk dig cronjobs som återkommande uppgifter som körs per automatik. På Windows har t.ex. Chrome ett sånt för att hantera uppdateringar även när Chrome inte är igång.

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
Märks ett cronjob av på webbservern?

Ett cronjob är ett vanligt program eller skript som körs så det är klart att det märks av om det är dåligt skrivet.

Citat:

Ursprungligen postat av secag (Inlägg 20466927)
Vad kan man göra istället om skriptet tar cirka 10 min att köra?

Snabba upp det! Luddiga frågor förtjänar luddiga svar. ;)

pelmered 2013-04-15 23:41

Det låter helt klart som det är CRON du ska köra. I alla fall om du vill hålla det enkelt.

Precis som dAEk skrev så är cronjobs inte hundra procent tillförlitligt. det kan hända saker som gör att de inte körs. Problem med servern eller en omstart just vid det tillfället den skulle köras t.ex.

Du bör därför programmera in ordentliga kollar i skriptet du kör med cron. Du bör kolla så att man dels inte kan köra skriptet oftare än en gång i timmen och dels att skriptet automatiskt kör kapp om den som den skulle missa en eller flera av de föregående körningarna.

tartareandesire 2013-04-16 08:38

Instämmer med samtliga, att köra ett cron job är normalt sett inga problem och det är det du bör göra.

Att ett script tar tio minuter att köra är inget problem i sig heller. Ibland vill man ha lite pauser i script som exempelvis skriver väldigt mycket data till databasen, kräver mycket minne eller använder sig av många externa anrop. Däremot låter det i det här fallet som att du antingen har dålig kod eller en väldigt trött burk när det handlar om en så pass enkel uppgift.

danjel 2013-04-16 13:56

Går ju även att köra ett schedulerat event i mySQL om du använder den DBn..om det bara är sql som ska köras vill säga


Alla tider är GMT +2. Klockan är nu 21:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson