Hi,
also ich habe folgendes Problem:
Ich betreibe einen Konvertierungsdienst. Dieser erzeugt, wie ihr euch sicher denken könnt, eine extrem hohe Last auf dem Server.
Ich möchte dieser immensen Last nun mit einer Queue (zu deutsch: Schlange) entgegenwirken.
Mein Überlegungen waren folgende:
Ich möchte 2 Mysql-Tabellen dafür schaffen. Eine die die laufenden Prozesse anzeigt, und eine für die Warteschlange.
Für die laufenden Prozesse habe ich mir das so gedacht.
Das ich am Anfang des Prozesses einen Eintrag in die Tabelle mache und am Ende lösche ich diesen einfach wieder.
Das ist soweit kein Problem. Jetzt kommt das erste kleinere Probleme. Was mache ich mit Leuten die während des Prozesses abbrechen?
Ich habe mir gedacht das ich einfach einen Timestamp mit logge und über einen Cronjob Prozesse die über eine Stunde gehen einfach lösche.
Das wäre zwar eine Lösung, sie ist aber zugegebenermaßen nicht sehr elegant. Gibt es eine elegantere?
Das gleiche Problem habe ich praktisch für die zweite Tabelle also für die Wartenden.
Ich habe mir das so gedacht das jeder User der nicht direkt in den Prozesse kann eine Sekunden/Minuten-Anzeige angezeigt bekommt wie lange er noch warten muss.
Das wäre auch alles noch realisierbar, aber hier ist das Problem mit den Abbrechern noch gravierender, da hier der Gesamte Betrieb lahm gelegt wird.
Wie bekomme ich es also hin das sobald ein User den Prozess abbricht er auch aus der Tabelle geworfen wird?
Mit freundlichen Grüßen
also ich habe folgendes Problem:
Ich betreibe einen Konvertierungsdienst. Dieser erzeugt, wie ihr euch sicher denken könnt, eine extrem hohe Last auf dem Server.
Ich möchte dieser immensen Last nun mit einer Queue (zu deutsch: Schlange) entgegenwirken.
Mein Überlegungen waren folgende:
Ich möchte 2 Mysql-Tabellen dafür schaffen. Eine die die laufenden Prozesse anzeigt, und eine für die Warteschlange.
Für die laufenden Prozesse habe ich mir das so gedacht.
Das ich am Anfang des Prozesses einen Eintrag in die Tabelle mache und am Ende lösche ich diesen einfach wieder.
Das ist soweit kein Problem. Jetzt kommt das erste kleinere Probleme. Was mache ich mit Leuten die während des Prozesses abbrechen?
Ich habe mir gedacht das ich einfach einen Timestamp mit logge und über einen Cronjob Prozesse die über eine Stunde gehen einfach lösche.
Das wäre zwar eine Lösung, sie ist aber zugegebenermaßen nicht sehr elegant. Gibt es eine elegantere?
Das gleiche Problem habe ich praktisch für die zweite Tabelle also für die Wartenden.
Ich habe mir das so gedacht das jeder User der nicht direkt in den Prozesse kann eine Sekunden/Minuten-Anzeige angezeigt bekommt wie lange er noch warten muss.
Das wäre auch alles noch realisierbar, aber hier ist das Problem mit den Abbrechern noch gravierender, da hier der Gesamte Betrieb lahm gelegt wird.
Wie bekomme ich es also hin das sobald ein User den Prozess abbricht er auch aus der Tabelle geworfen wird?
Mit freundlichen Grüßen
Kommentar