![]() |
Datenbank: FB • Version: 1.5 • Zugriff über: sag ich nicht ;)
Scheduler als Dienst mit Konfiguration in DB
Hallo #,
mein erster Dienst läuft *freu* :cheers: Bisher legt er nur im Temp Dateien an, aber immerhin ; Ich muss "geplante Tasks" nachbauen, weil der entsprechenden Firma keine Admin-Rechte auf dem Server erlaubt sind (ist ne Zweigstelle). Meine Überlegung war folgende, eine Dienst läuft (was er auch schon macht), er connected sich alle x Minuten mit der DB, liest die Konfiguration aus und handelt entsprechend. Dann wird ein Log geschrieben (in die DB und in den Speicher) und der dienst legt sich wieder schlafen (delay oder sleep ist egal). Die komplette Konfiguration erfolgt auf einem anderen Rechner. Nun mein Problem, wie kann ich am besten mitbekommen, dass sich die Konfiguration geändert hat. 1. Events aber traue mich nicht ;) FB1.5 ist nur eine der DB's, mit denen das laufen soll. 2. TCP Socket, habe ich auch noch nie gemacht 3. bei jedem Aufwachen Testen, ob was geändert wurde (das geht schnell, ich schreibe eh ein Log der Änderungen und kann das mit dem Datum der letzten Konfigurationsänderung vergleichen) Die Konfiguration ändert sich ausserdem kaum. Was meint ihr ? Wie geht man an sowas ran ? Heiko PS: muss mal den Dienst anhalten, habe nur ne 140GB Platte ;) |
Re: Scheduler als Dienst mit Konfiguration in DB
Billiger Trick:
Auf deiner DB (egal welche) hast Du eine Tabelle "LastUpdate". Dort steht drin, welche Daten wann zum letzten mal angefasst wurden. Z.B. für jede Tabelle eine Zeile und ein Trigger auf die jeweiligen Tabellen, damit sie die Zeit in die "LastUpdate"-Tabelle reinlesen. Dein Dienst wacht 1x pro Minute auf, liest die "LastUpdate"-Tabelle, schaut nach, ob sich etwas geändert hat, und handelt entsprechend. Pronto. |
Re: Scheduler als Dienst mit Konfiguration in DB
Hallo,
So wollte ich es ja auch machen, naja fast ;) Da ich eh alle Änderungen protokolliere, suche einfach per Max() das letzte Änderungsdatum und vergleiche mit Datum, wann der Dienst das letzte mal die Konfiguration geladen hatte (aleo dessen letztem Änderungsdatum). Die Frage war, geht es eleganter, wobei der obige Ansatz den Vorteil hat, einfach zu sein. Heiko |
Re: Scheduler als Dienst mit Konfiguration in DB
hoika, mit "max" erzeugst Du nur unnötigen Overhead im Server... Und wenn Du "MAX" verwenden willst, vergiss den Index auf der Spalte nicht, dann geht das nämlich fix :zwinker:
|
Re: Scheduler als Dienst mit Konfiguration in DB
Hallo,
mach ich nicht ;) Jede Query kommt zuerst zum ibplanalyzer. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 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