![]() |
Zeitgesteuerte Ausführung von Threads???
Hallo!
Ich habe einen Dienst erstellt, der aus mehreren eigenständigen Threads besteht. Ich möchte einen Thread zeitgesteuert ausführen. Im Konfigurationsmenü des Dienstes wird ein Zeitplann erstellt, wann der Vorgang ausgeführt werden soll. Wie führe ich am besten die Threads zeitgesteuert aus? Ich habe zwar eine Idee mit einem neuen Thread, der die Zeit permanent überwacht, doch ich möchte estmal wissen, was das übliche Verfahren für so was ist. Danke! |
Re: Zeitgesteuerte Ausführung von Threads???
Ich hätte das genauso gemacht wie du.
Was anderes und vor allem effizienteres fällt mir jetzt auf die Schnelle nicht ein. |
Re: Zeitgesteuerte Ausführung von Threads???
Auf den meisten Windows Rechnern läuft doch der Taskplaner-Dienst (Dienstname: Schedule).
Diesen Dienst kann man dazu benützen, zu bestimmten Zeiten dein Programm anzustarten. Was dein Programm genau tun soll, bekommt es über Aufrufparameter gesagt. Vorteile: * Spart Resourcen, weil dein Programm nicht ständig läuft * Taskplaner hat wesentlich mehr Funktionalität in Bezug auf Zeitplanung als dein eigenes Programm je haben wird * funktioniert auch, wenn der Benutzer abgemeldet ist (ohne dass du extra einen Dienst schreiben musst) * dein Programm wird viel einfacher: es startet, prüft die Übergabeparameter, erledigt seine Aufgabe (ohne Threads) und beendet sich Unter Unix würde niemand auf die Idee kommen so eine Zeitsteuerung selbst zu programmieren. Denn es gibt dort den ![]() ![]() Nur unter Windows scheint jeder den Taskplaner neu erfinden zu wollen... |
Re: Zeitgesteuerte Ausführung von Threads???
Vielen Dank für die schnelle Antworten!
An Windows-Taskplanner habe ich nicht gedacht. Ich kann aus dem Thread ein eigenständiges Programm machen und durch Taskplanner starten lassen. Und trotzdem würde mich interessieren, wie das geht. Wie funktioniert Taskplanner im inneren? |
Re: Zeitgesteuerte Ausführung von Threads???
*PUSH*
Dieses Thema ist für micht noch aktuell. |
Re: Zeitgesteuerte Ausführung von Threads???
Ich würde mir einen Timer erstellen, welcher zur nötigen Zeit zuschlägt.
Wenn das Programm gestartet oder der Zeitplan geändert wurde, dann schaut man nach dem nächstliegendem Thermin, nimmt die aktuelle Zeit und mit der Differenz startet man dann den Timer. Löst der Timer dann aus, wird die Aktion ausgeführt und eventuell der Timer neu gesartet, mit der Zeit bis zum nächsten Event. |
Re: Zeitgesteuerte Ausführung von Threads???
Mit aurechnen der Differenz ist eine sehr gute Idee, probiere ich. Danke!
|
Re: Zeitgesteuerte Ausführung von Threads???
Hallo,
wonach du suchst, heisst cron job Dafür ist im Netz ne Menge zu finden. In den JEDI's war mal eine Komponente, die war aber noch nicht ganz fertig. Heiko |
Re: Zeitgesteuerte Ausführung von Threads???
Schau mal vieleicht hier,
ich habe zur Zeit ein ganz ähnliches Problem ![]() Allerdings ist das ganze noch nicht ganz ausgereift, weil da momentan noch ein paar kleine Problem mit der Neuinitialisierung der Timer.Interval vorhanden sind. Allerding muss ich das heute abend noch bearbeiten. Vieleicht ist dann die Lösung komplett. Gruß Jens |
Re: Zeitgesteuerte Ausführung von Threads???
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz