AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptfrage: Aufgabe einmal am Tag ausführen

Ein Thema von Bbommel · begonnen am 14. Nov 2022 · letzter Beitrag vom 19. Nov 2022
Antwort Antwort
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.698 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Konzeptfrage: Aufgabe einmal am Tag ausführen

  Alt 14. Nov 2022, 12:38
Ich würde das vermutlich auch mit einem Thread machen, den allerdings nicht per Sleep warten lassen sondern auf ein Event-Objekt. Das hat den Vorteil, dass man ihn beim Beenden des Programms einfach aufwecken kann, so dass er sich selbst beendet.
Thomas Mueller
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
669 Beiträge
 
Delphi 12 Athens
 
#2

AW: Konzeptfrage: Aufgabe einmal am Tag ausführen

  Alt 14. Nov 2022, 12:48
Klar, das mit dem "Schlafenlegen" war nur so dahingeschrieben. In der Praxis sieht das auch bei mir so oder so ähnlich aus:

Delphi-Quellcode:
var
  EventWait: TEvent;

[...]
procedure TecsDelOldSessionsThread.Execute;
begin
  while not Terminated do begin
    EventWait.WaitFor(60000);
    ecsSessionList.DeleteOldSessions;
  end;
end;
Funktioniert auch problemlos. Aber sicherlich gut zu erwähnen, falls mal jemand per Sucher hier landet. Bei so einem Beispiel wie dem hier, das einmal in der Minute läuft, hatte ich auch nie weiter drüber nachgedacht, nur halt jetzt bei dem Fall, der eigentlich nur einmal am Tag was machen soll, kommt mir das immer noch unpassend vor.

Will heissen ich würde den Task der das macht, in eine eigene executable auslagern und die mittels cronjobs steuern.
Danke auch dir für das Feedback! Was mir daran nicht gefällt, ist wieder ein zusätzlicher administrativer Aufwand (klar, der ist erstmal überschaubar, aber dennoch blöd, wenn man es dann z.B. mal vergisst) und eine zusätzliche Abhängigkeit zu einem zweiten Programm für eine Aufgabe, die eigentlich intern laufen könnte. Aber drüber nachgedacht hatte ich da auch schon.

Oder selber einen kleinen Scheduler bauen, weil es halt diverse Aufgaben gibt, die alle paar Minuten zu erledigen sind, da ist jetzt das eine Beispiel nur der krasse Ausreißer.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.400 Beiträge
 
Delphi 12 Athens
 
#3

AW: Konzeptfrage: Aufgabe einmal am Tag ausführen

  Alt 14. Nov 2022, 12:51
Die Aufgabenplanung kann auch von deinem aktuellen Service erstellt/verwaltet werden, über welches dann deine ServiceExe mit Parameter oder eine andere EXE oder Batch gestartet würde.

Wir haben auch einen Service, welche ja eine Abeitschleife hat ... ja, dort prüfen wir für mehrere Aufgaben auch die Zeit und führen dann deren Aktionen entsprechend aus (oder nicht) ... jeweils der letzte Zeitpunkt gemerkt und dann geschaut, ob die aktuelle Zeit größer/gleich dem neuen Zeitpunkt ist.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.201 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Konzeptfrage: Aufgabe einmal am Tag ausführen

  Alt 14. Nov 2022, 14:30
Ich habe für solche Dinge in unseren Server-Anwendungen ein paar Events wie OnMinuteChange , OnHourChange , OnDayChange , ...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:17 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