Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.014 Beiträge
Delphi 12 Athens
|
AW: Auf Zeitpunkt überwachen
19. Nov 2020, 16:30
Das Schöne mit den CRON-Jobs: Wenn kaum etwas gemacht wird, dann braucht der Service/Hintergrundaufgabe auch nicht dauerhaft "aktiv" zu sein.
Dein Programm ist nicht akiv, es wird vom Aufgabenverwaltungsdienst entsprechend der einstellten Zeiten und/oder Events gestartet und wenn fertig, beendet es sich wieder.
"nicht aktiv" = garnicht aktivt, also beendet und auch nicht nur "nichtstuend" sinnlos wartend.
Windows bietet sogar einen Hintergunddienst für Downloads, wo man ewas eintragen kann und wenn es dann da ist, wird das eigene Programm gestartet.
Netterweise werden hier sogar die DialUp-Settings der Netzwerkverbindung beachtet. z.B. das WLAN des HandyHotspots wird nicht mit Updates überflutet und der Traffic aufgebraucht, sondern erst daheim im großen Internetzugang.
Per se wäre es also garnicht nötig, dass man z.B. Dauerhaft mit tausenden aktiven Diensten/TrayIconProgrammen für Updates von irgendwelchen Programmen zugemüllt wird, die ständig im Internet rumwühlen.
Bei uns läuft im Service ein Thread, da einige Dinge auch minütlich erledigt werden.
Nach jedem Durchlauf macht der mindestens 15 Sekunden und maximal bis zu 60 Sekunden (seit Beginn des Durchlaufs) Pause, als Sicherheit, falls mal irgendwas schief läuft und somit nicht dauerhaft alles auslastet.
Und da werden auch paar Methoden mit aufgerufen, Aktionen in größeren Intervallen -> jeweils am Anfang eine Prüfung, ob Now/CurrentTime größer/gleich dem Zeitpunkt der nächsten Ausführung.
z.B. if (HourOf(Now) = 3) and (LastDate < Date) then begin LastDate := Date; ....... end; // also immer früh um 03:00
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
Geändert von himitsu (19. Nov 2020 um 16:33 Uhr)
|