Wyliczanie czasów uruchomień timeoutów

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji: od 8.3 wzwyż; Autor: Tomasz Batko 

Data pierwszego uruchomienia timeoutu

Data od której rozpoczynane jest wyliczanie timeoutów ustawiana jest zgodnie z następującymi warunkami (warunki sprawdzane w podanej kolejności):

  • Jeśli timeout uruchamia się w określonym dniu – datą pierwszego uruchomienia jest pierwsza planowana aktywacja (wyliczony na podstawie definicji timeoutu) następująca po dacie startowej i po dacie bieżącej.
  • Jeśli data startu jest datą z atrybutu – data pierwszego uruchomienia jest data otrzymaną z atrybutu. Jeżeli data ta jest w przeszłości, pierwsza aktywacja timeoutu następuje natychmiast. Timeout aktywuje się w dacie startu cyklu.
  • Jeśli dla timeoutu zdefiniowano opóźnienie – data pierwszego uruchomienia jest datą przekazaną z dodanym opóźnieniem.
  • Jeśli datą początkową jest data wejścia do kroku i nie ma zdefiniowanego opóźnienia – datą pierwszego uruchomienia jest pierwsza planowana aktywacja po starcie cyklu, wyliczona na podstawie zdefiniowanych interwałów. Timeout nie aktywuje się w dacie startu cyklu.

 

Przykład (start od daty z atrybutu):

Data startu: 1 maja; Data aktualna: 8 maja; Interwał: 5 dni;

Daty kolejnych timeoutów: 1 maja, 11 maja, 16 maja

1 maja jest pierwszą planowaną datą, timeout w rzeczywistości uruchomi się 8 (od razu po utworzeniu)

 

Przykład (start od daty wejścia do kroku):

Data startu: 1 maja; Data aktualna: 1 maja; Interwał: 5 dni;

Daty kolejnych timeoutów: 6 maja,11 maja, 16 maja,

|

Data startu: 1 maja; Data aktualna: 8 maja; Interwał: 5 dni;

Daty kolejnych timeoutów: 11 maja, 16 maja, 21 maja

 

Ignorowanie weekendów

– Typ: minuta; godzina; dzień

Tydzień traktowany jest jako 5 dniowy. Jeśli data uruchomienia wypada w weekend przesuwana jest na najbliższy poniedziałek.

 

Przykład (start od daty z atrybutu):

Data startu: 1 maja (sobota); Data aktualna: 3 maja (poniedziałek); Interwał: 5 dni;

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 3 maja (poniedziałek) , 10 maja (poniedziałek) , 17 maja (poniedziałek)

|

Przykład (start od daty wejścia do kroku):

Data startu: 1 maja (sobota); Data aktualna: 3 maja (poniedziałek); Interwał: 5 dni;

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 10 maja (poniedziałek) , 17 maja (poniedziałek) , 24 maja (poniedziałek)

|

Data startu: 1 maja (sobota); Data aktualna: 1 maja; Interwał: 5 dni;

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 3 maja (poniedziałek),10 maja, 17 maja

|

Data startu: 1 luty (poniedziałek); Data aktualna: 1 luty Interwał: 7 dni;

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 10 luty (środa),19 luty (piątek), 2 marca (wtorek), 11 marca(czwartek), 22 marca (poniedziałek)

 

– Typ: tydzień; miesiąc

Jeśli data uruchomienia wypada w weekend przesuwana jest na najbliższy poniedziałek.

 

Przykład:

Data startu: 1 maja (sobota); Data aktualna: 5 maja (środa); Interwał: 1 tydzień;

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 10 maja (poniedziałek) , 17 maja (poniedziałek) , 24 maja (poniedziałek)

|

Data startu: 1 luty (poniedziałek); Data aktualna: 1 luty Interwał: 1 tydzień;

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 8 luty (poniedziałek),15 luty (poniedziałek), 22 luty (poniedziałek)

|

Ustawienie konkretnego dnia w okresie (ma zastosowanie dla typu: tydzień i miesiąc)

Powoduje ustawienie najbliższego (przyszłego) ustawionego dnia, będącego po dacie startu.

 

Przykład:

Data startu: 1 maja (sobota); Data aktualna: 1 maja (sobota); Interwał: 1 tydzień;

Dzień w okresie: Poniedziałek

Daty kolejnych timeoutów: 3 maja (poniedziałek) , 10 maja (poniedziałek) , 17 maja (poniedziałek)

|

Data startu: 1 maja (sobota); Data aktualna: 3 maja (poniedziałek); Interwał: 1 tydzień;

Dzień w okresie: Poniedziałek

Daty kolejnych timeoutów: 10 maja (poniedziałek) , 17 maja (poniedziałek) , 24 maja (poniedziałek)

|

Data startu: 1 stycznia 2010; Data aktualna: 1 stycznia 2010; Interwał: 1 miesiąc;

Dzień w okresie: 31

Daty kolejnych timeoutów: 31 stycznia (niedziela) , 28 lutego(niedziela), 31 marca (środa)

 

Jeśli wybrano dzień w okresie i zaznaczono ignorowanie weekendów jako data wykonania kolejnego timeoutu zostanie ustawiony pierwszy dzień nie będący dniem weekendu.

 

Przykład:

Data startu: 1 stycznia 2010; Data aktualna: 1 stycznia 2010; Interwał: 1 miesiąc;

Dzień w okresie: 31

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 1 lutego (poniedziałek) , 1 marca (poniedziałek), 31 marca (środa)

|

Data startu: 1 maja (sobota); Data aktualna: 1 maja (sobota); Interwał: 1 tydzień;

Dzień w okresie: Niedziela

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 3 maja (poniedziałek) , 10 maja (poniedziałek) , 17 maja (poniedziałek)

 

Opóźnienie uruchamiania

Ustawienie wartości opóźnienia powoduje zwiększenie daty startowej o podaną w opóźnieniu liczbę dni.

 

Przykład:

Data startu: 1 marca 2010; Data aktualna: 1 marca 2010 Interwał: 1 miesiąc

Opóźnienie: 7 dni

Daty kolejnych timeoutów: 8 marca, 8 kwietnia , 8 maja

 

Jeżeli zaznaczono opcję ignorowania weekendów wtedy dni opóźnienia są liczone w dniach roboczych.

 

Przykład:

Data startu: 1 marca 2010; Data aktualna: 1 marca 2010  Interwał: 1 miesiąc

Opóźnienie: 7 dni

Ignorowanie weekendów: włączone

Daty kolejnych timeoutów: 10 marca, 12 kwietnia , 10 maja

 

Uruchamianie w określonych godzinach

– Typ: minuta; godzina;

Dzień traktowany jest jako trwający zdefiniowany przez godziny uruchamiania okres czasu. Jeśli data uruchomienia wypadanie poza godzinami uruchomienia, pozostały czas przenoszony jest na następny okres godzin uruchamiania:

 

Przykład (Godziny uruchomiania: 10:00-15:00, start od daty z atrybutu):

Data startu: 1 maj 2010 08:30; Data aktualna: 1 maj 2010 09:00 Interwał: 3 godziny

Daty kolejnych timeoutów: 1 maja 10:00, 1 maja 13:00,  2 maja 11:00

|

Przykład (Godziny uruchomiania: 10:00-15:00, start od daty wejścia do kroku):

Data startu: 1 maj 2010 08:30; Data aktualna: 1 maj 2010 09:00 Interwał: 3 godziny

Daty kolejnych timeoutów: 1 maja 13:00, 2 maja 11:00,  2 maja 14:00

 

– Typ: tydzień; miesiąc;

Jeśli data uruchomienia wypada poza godzinami uruchomienia, przesuwana jest na następną początkową godzinę wykonania:

 

Przykład (Godziny uruchomiania: 10:00-15:00, start od daty z atrybutu):

Data startu: 1 maj 2010 16:00; Data aktualna: 1 maj 2010 16:00 Interwał: 2 dni

Daty kolejnych timeoutów: 2 maja 10:00, 4 maja 10:00,  6 maja 10:00

|

Przykład (Godziny uruchomiania: 10:00-15:00, start od daty wejścia do kroku):

Data startu: 1 maj 2010 16:00; Data aktualna: 1 maj 2010 16:00 Interwał: 2 dni

Daty kolejnych timeoutów: 4 maja 10:00, 6 maja 10:00,  8 maja 10:00