AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Eine Art Taskplaner in eigener Anwendung
Thema durchsuchen
Ansicht
Themen-Optionen

Eine Art Taskplaner in eigener Anwendung

Ein Thema von ManiacViper · begonnen am 2. Okt 2003 · letzter Beitrag vom 7. Okt 2003
Antwort Antwort
ManiacViper

Registriert seit: 29. Dez 2002
Ort: Dresden
12 Beiträge
 
Delphi 7 Personal
 
#1

Eine Art Taskplaner in eigener Anwendung

  Alt 2. Okt 2003, 12:02
Hallo,

ich hab im Moment folgendes Problem und bin noch etwas ratlos wie ich es lösen soll. Ich möchte in regelmäßigen Abständen (zb. aller 5 Minuten) Daten von verschiedenen Servern abrufen und diese in eine Datenbank schreiben. Der Abstand zwischen zwei Abrufen soll dabei für jeden Server extra eingestellt werden können. Ich weiß aber nicht so richtig wie ich diese Funktion realisieren kann. Ich könnte natürlich für jeden Server einen Thread starten der immer den gewünschten Abstand wartet und dann die Daten abruft, aber bei einer großen Anzahl Server bekomme ich sicher Probleme in Bezug auf die Systemressourcen. Vielleicht hat jemand einen Vorschlag oder Lösungsansatz.

Danke,
Daniel
Daniel E.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 2. Okt 2003, 12:11
Moin Daniel,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Was verstehst Du unter einer grossen Anzahl von Servern?
Welchen Umfang haben die Daten, die abgerufen werden sollen?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#3

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 2. Okt 2003, 12:15
Wie wärs mit einen Timer, der ständig läuft (kurzes Zeitintervall), in dem die Zeiten für jeden Server gespeichert sind, der falls eine Zeit erreicht wurde, startet er einen neuen Thread, über den der Datenaustausch läuft?
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 2. Okt 2003, 12:32
Also auf dem System vor dem ich gerade sitze laufen momentan 301 Threads...

Das Problem ist also nicht die Anzahl der Threads, sondern wieviele davon aktiv arbeiten und wieviele im "Wartezustand" sind! Du kannst also durchaus auch eine größere Anzahl an Threads ereugen, wenn diese immer nur in längeren Abständen zuteilungsfähig werden...
Manuel Pöter
  Mit Zitat antworten Zitat
ManiacViper

Registriert seit: 29. Dez 2002
Ort: Dresden
12 Beiträge
 
Delphi 7 Personal
 
#5

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 7. Okt 2003, 11:19
Moin,

sorry für meine späte Antwort. Vielleicht sollte ich mal näher erklären was ich realisieren möchte. Mir geht es darum die Event Logs der einzelnen Rechner zentral in einer Datenbank abzulegen, um diese dann auswerten zu können. Um das zu realisieren sind mir 2 Methoden eingefallen :

- auf jedem Rechner läuft ein kleines Programm, welches im Falle eines neuen Eintrages im lokalen Event Log den Eintrag in der zentralen DB vornimmt
- auf einem Rechner läuft ein Programm welches die Event Logs der anderen Rechner abruft und die Einträge in die DB schreibt

Eigentlich wollte ich die zweite Methode umsetzen, da ich so alles schön zentral verwalten kann.
Die Anzahl der zu überwachenden Rechner ist halt sehr variabel, aber ich denke mit mehr als 300 Rechnern ist nicht zu rechnen.

Also könnte ich theoretisch den Ansatz verfolgen : 1 Rechner = 1 Thread, oder ?

Tschüss Daniel
Daniel E.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 7. Okt 2003, 14:26
Moin Daniel,

wär's da nicht einfacher, wenn die Programme, die auf den Remote Rechnern laufen sich bei Deinem zentralen Programm melden, sobald sich was getan hat?
Schau Dir dazu ggf. mal die API-Funktion NotifyChangeEventLog an.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
ManiacViper

Registriert seit: 29. Dez 2002
Ort: Dresden
12 Beiträge
 
Delphi 7 Personal
 
#7

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 7. Okt 2003, 15:41
Hallo,

die API-Funktion hatte ich auch schon im Auge, zumal EventMonTray von Assarbad das ganze recht gut erklärt. Das einzige was etwas stört ist das : Microsoft Knowledge Base Article - 245609. Allerdings ist nur NT betroffen, also werde ich mich mal näher damit beschäftigen.

Danke für die Hinweise,
Daniel
Daniel E.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Eine Art Taskplaner in eigener Anwendung

  Alt 7. Okt 2003, 15:55
Moin Daniel,

unter NT könntest Du das mit einem Workaround erledigen:
Da ja nur nicht garantiert wird, dass jedes Event sofort gemeldet wird, könntest Du bei einer Meldung prüfen, welche noch nicht übertragen wurden, und die dann nehmen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  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 18:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz