AGB  ·  Datenschutz  ·  Impressum  







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

Struktur Frage

Ein Thema von franktron · begonnen am 4. Apr 2013 · letzter Beitrag vom 5. Apr 2013
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Struktur Frage

  Alt 5. Apr 2013, 11:34
Dann schmeiß die Aufträge in eine Liste und suche dir aus dieser Liste, den nächsten möglichen Auftrag heraus (wenn die maximalen Verbindungen noch nicht erreicht sind).

Dazu hast du z.B. die gerade aktiven FTP-Server in einer Liste (z.B. TStringList) und prüfst bei jedem Auftrag, ob der FTP-Server schon in der Liste ist.

Wenn nicht, dann den FTp-Server in diese Liste rein und den Auftrag abarbeiten lassen (Thread).
Ist der Download abgeschlossen, dann den FTp-Server wieder aus der Liste und weiter zum nächsten Auftrag.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Struktur Frage

  Alt 5. Apr 2013, 12:04
Dazu hast du z.B. die gerade aktiven FTP-Server in einer Liste (z.B. TStringList) und prüfst bei jedem Auftrag, ob der FTP-Server schon in der Liste ist.
..dies hat meiner Meinung nach den Nachteil, dass es unter Umständen recht lange dauert
bis Aufträge die an nicht aktive FTP-Server gerichtet sind abgearbeitet werden.

Da ein Verbindungsabbau und -aufbau auch nicht sehr lange dauern würde ich die Liste (Stack)
von oben Position 0 nach unten abarbeiten.
Neue Aufträge sollten dann von hinten an die Liste angehangen werden.

Ein Auftrag könnte dann z.B: aus FTP-Server, Zugangsdaten, Dateipfad, Dateiname bestehen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Struktur Frage

  Alt 5. Apr 2013, 12:10
Dazu hast du z.B. die gerade aktiven FTP-Server in einer Liste (z.B. TStringList) und prüfst bei jedem Auftrag, ob der FTP-Server schon in der Liste ist.
..dies hat meiner Meinung nach den Nachteil, dass es unter Umständen recht lange dauert
bis Aufträge die an nicht aktive FTP-Server gerichtet sind abgearbeitet werden.

Da ein Verbindungsabbau und -aufbau auch nicht sehr lange dauern würde ich die Liste (Stack)
von oben Position 0 nach unten abarbeiten.
Neue Aufträge sollten dann von hinten an die Liste angehangen werden.

Ein Auftrag könnte dann z.B: aus FTP-Server, Zugangsdaten, Dateipfad, Dateiname bestehen.

Grüße
Klaus
Das sehe ich etwas anders ...

Also pro FTP-Server darf immer nur ein Download stattfinden.
Worst-Case
49 Anfragen gehen an ftp1 und 1 Anfrage geht an ftp2
Jetzt muss der Download für ftp2 so lange warten, bis alle 49 Aufträge vorher abgearbeitet wurden, obwohl dieser Auftrag parallel hätte abgearbeitet werden können.

Meine Variante arbeitet die Liste nach dem Eintragszeitpunkt und zur Verfügung stehender Verbindung zu dem ftp-Server ab (ist der Server schon in Verwendung, dann den Auftrag liegen lassen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 17:41 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