Ausführung der Methode jede Stunde zur vollen Stunde

8

Ich möchte jede Stunde zu jeder Stunde eine Methode ausführen. Ich habe einen Code geschrieben, aber es ist nicht genug für mein Ziel. Der folgende Code funktioniert alle 60 Minuten.

%Vor%     
RockOnGom 10.10.2013, 09:21
quelle

6 Antworten

12

Wenn der Code alle 60 Minuten ausgeführt werden soll:

%Vor%

Wenn Sie möchten, dass Ihr Code stündlich ausgeführt wird (dh 1:00, 2:00, 3:00), können Sie einen Timer mit einem kleinen Intervall (sagen wir mal eine Sekunde, hängt von der benötigten Genauigkeit) und von innen erstellen Dieses Timer-Ereignis überprüft, ob eine Stunde vergangen ist

%Vor%     
Anarion 10.10.2013, 09:30
quelle
3

Ich stimme Señor Salt zu, dass der Chron Job die erste Wahl sein sollte. Allerdings fragte das OP jede Stunde zu jeder Stunde von c #. Um das zu tun, habe ich das erste zeitgesteuerte Ereignis eingerichtet, das zu jeder vollen Stunde ausgelöst wird:

%Vor%

Das Problem ist jetzt, dass wenn der obige timer.Interval 45 Minuten und 32 Sekunden beträgt, der Timer nicht nur beim ersten Mal alle 45:32 feuert. In der Methode "timer_Tick" müssen Sie also den Timer neu einstellen.Intervall auf eine Stunde.

%Vor%     
EscapeArtist 08.12.2014 18:25
quelle
3

Nur ein kleiner Kommentar basierend auf Anarions Lösung, die ich nicht in einen Kommentar einfügen konnte.

  

Sie können einen Timer mit einem kleinen Intervall erstellen (sagen wir mal eine Sekunde, hängt von der Genauigkeit ab, die Sie brauchen)

Sie brauchen es nicht, um mit irgendeiner Genauigkeit zu gehen, Sie denken "wie überprüfe ich, dass diese Stunde die Stunde ist, die ich schießen möchte". Du könntest alternativ denken "Wie überprüfe ich die nächste Stunde ist die Stunde, die ich abfeuern möchte" - sobald du so denkst merkt du, dass du überhaupt keine Präzision brauchst, tippe nur einmal pro Stunde und setze einen Faden für die nächste Stunde. Wenn Sie einmal pro Stunde kreuzen, wissen Sie, dass Sie irgendwann vor der nächsten Stunde sein werden.

%Vor%     
Paul Hutchinson 05.03.2014 16:10
quelle
1

Verwenden Sie einen Cron-Job auf dem Server, um eine Funktion im angegebenen Intervall aufzurufen

Hier ist ein Link Ссылка

    
John Richard Salt 10.10.2013 09:26
quelle
0

Wie wäre es mit dem unten stehenden Code? Die Schleife ist dazu bestimmt, Ihre Ressourcen zu speichern, und sie läuft jede EXAKT Stunde, d. h. sowohl Minuten als auch Sekunden (und fast Millisekunden gleich Null:

) %Vor%     
Hasan A Yousef 17.01.2017 08:24
quelle
0

Wie wäre es mit etwas einfacher? Verwenden Sie einen Ein-Minuten-Timer, um die Stunde zu überprüfen:

%Vor%     
user3235770 10.02.2017 21:41
quelle

Tags und Links