3 Stimmen

Eine Frage zur Terminplanung

Ich habe die folgende Situation: Ich habe ein paar hundert Ressourcen zur Verfügung (PCs/Mobile/Smart Devices). Ich möchte daraus ein vernetztes Labor machen, in dem Benutzer ab einer bestimmten Zeit Zugang zu einigen oder allen dieser Geräte anfordern können. Zu diesem Zweck schreibe ich einen Zeitplaner. Zum gewünschten Zeitpunkt möchte ich den Benutzer darüber informieren, dass die Anfrage genehmigt wurde, und dann automatisch einige Tests auf den Geräten durchführen. Ich frage mich nur, wie ich den Scheduler effizient schreiben kann. Im Moment habe ich an Folgendes gedacht:

  1. Wenn eine Anfrage eingeht, speichere ich sie in einer SQL-Datenbanktabelle. Ich schreibe ein Programm, das diese Tabelle ständig auf fällige Aufträge überprüft und diese ausführt. Dies geschieht in regelmäßigen Abständen (z. B. alle 5 Minuten), so dass ich keine sofortigen Tests planen kann.

  2. Behalten Sie ein Job-Objekt für jeden Job und fügen Sie einen Timer hinzu, der zum angegebenen Zeitpunkt ausgelöst wird (scheint die am wenigsten skalierbare Lösung zu sein).

  3. Eine Mischung aus (1) und (2). Ich erstelle Auftragsobjekte mit Zeitgebern, indem ich die Datenbank in einem größeren Intervall (z. B. 30 Minuten) abfrage. In der Abfrage hole ich alle Aufträge ab, die in den nächsten 30 Minuten oder so fällig sind.

Gibt es einen besseren/saubereren Weg, dies zu tun?

Vielen Dank für die Antworten im Voraus!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X