Seite 1 von 1

taskmanager / warteschlange

Verfasst: 20.07.2004 12:36
von k-5
ich braeuchte fuer eine seite eine art taskmanager bzw eine warteschleife ..
das erstellen is ja kein problem .. aber das abarbeiten ..
.
die tasks sollen alle eine unterschiedliche laenge haben wenige minuten bis mehrere stunden/tagen .. vondenen manche teilweise parallel ablaufen .. und zusaetzlich bei ihrer beendigung wieder einen neuen task erzeugen koennen ..
.
soviel zur theorie ..
.
mal das konkrete beispiel ..
es geht um ein spiel .. es werden gebaeude(bzw allgemein sachen gebaut) .. die man natuerlich vorher auf eine warteschleife setzten kann .. problem ist halt jetzt das die anfangen sollen sachen zu produzieren sobald sie fertig gebaut sind (was unter umstaenden ein anderes bauvorhaben verlangsamen kann .. oder beschleunigen usw ..)
.
meine ideen :
.
1. cronjob .. laeuft minuetlich .. wohl das einfachste .. aber wird wohl ne exteme prozessor belastung werden .. werden wohl paar tausend tasks sein ..
.
2. erst wenn benoetigt nachrechnen wie weit alles abgearbeitet wurde .. wird ne extrem komplizierte rechung in die sich wohl massenhaft fehler einschleichen .. vorallem da es ja seiteneffekte gibt ..
.
fuer jeden vorschlag fuer ne nummer 3 waere ich dankbar .. oder auch ein script das soetwas aehnliches tut bei dem ich mich mal inspirieren lassen kann ..

Verfasst: 20.07.2004 17:40
von Dennis63
Warum ist nen Cron-Job zu viel Arbeit? MAche den halt Sekündlich. Dann haste nicht alle 60 Sekunden volllast und danach nix mehr.

Grüße
Dennis

Verfasst: 20.07.2004 19:15
von Jensemann
Dennis Böge hat geschrieben:Warum ist nen Cron-Job zu viel Arbeit? MAche den halt Sekündlich. Dann haste nicht alle 60 Sekunden volllast und danach nix mehr.

Grüße
Dennis
Blödsinn.

Kein mir bekannter cron lässt kleinere einheiten als 1 Minute zu, davon abgesehen ist ein Prozess der viel macht eine kleinere belastung als das ständige forken und exec um neue Prozesse zu starten.

Verfasst: 21.07.2004 22:52
von k-5
naja .. ich wollte eh als kleinst mögliche einheit 1 minute machen ..

und das wird wahrscheinlich pro task mindestens 1 db zugriff ..

werd wohl jetzt ne zwischenlösung wählen ..

stündlicher cron .. und jeweils in 60 zeitschritten durchrechen was passiert ist ..