Timer
Akcje tego typu są wykonywane cyklicznie dla wskazanych elementów. Pozwalają one zdefiniować czas startu i cykl powtórzeń. Z jednym timerem można powiązać kilka akcji różnego typu. Sposób wyliczania czasów kolejnych wykonań zależy od ustawień poszczególnych parametrów.
Należy pamiętać, że akcje tego typu można definiować jedynie na krokach, ponieważ muszą być one powiązane z konkretnym elementem.
Konfiguracja
Dostęp do konfiguracji akcji Na Timer uzyskuje się po dodaniu takiej akcji z poziomu okna konfiguracyjnego kroku lub ścieżki (zakładka Akcje → panel Lista akcji → pozycja Timer).
1. Informacje podstawowe
Dane identyfikacyjne timera – Nazwa, ID i Opis. Jeśli wartość ID jest mniejsza od „0”, timer nie został jeszcze zapisany w bazie.
2. Tryb działania
Tryb Tylko wykonanie akcji to domyślny tryb działania timera. Powoduje on wykonanie powiązanych z nim akcji w interwałach zdefiniowanych w jego właściwościach.
Tryb działania Przejście ścieżką po wywołaniu akcji powoduje przejście ścieżką w interwałach zdefiniowanych we właściwościach timera.
3. Pierwsze uruchomienie
Parametr pozwala określić, kiedy i w jakich okolicznościach timer zostanie uruchomiony po raz pierwszy.
Data startu
Parametr decyduje o tym, czy pierwsze uruchomienie ma się odbyć natychmiast po wejściu do kroku czy też z wykorzystaniem dodatkowej konfiguracji związanej z określeniem daty timera (odwołanie się do atrybutu Data i godzina na elemencie, przesunięcie w stosunku do atrybutu lub daty wejścia do kroku).
W przypadku timera, którego pierwsze uruchomienie występuje natychmiast, nie ma możliwości uwzględniania specyficznych parametrów konfiguracji: Tylko w godzinach nocnych, Uruchom w określonych godzinach, Ignoruj dni wolne. Zostaną one zastosowane dopiero przy kolejnych uruchomieniach timera.
Przesunięcie
Wyrażona w dniach wartość przesunięcia daty pierwszego uruchomienia timera w stosunku do Daty startu. Wartość przesunięcia może być liczbą całkowitą: dodatnią, ujemną lub równą „0”. Na jej podstawie data uruchomienia timera zostanie odpowiednio przełożona w czasie.
Interwał
Częstotliwość wykonywania powtórzeń timera (łącznie z jego pierwszym uruchomieniem). Użytkownik może ustawić wartość większą od „0”, a jako jednostkę wskazać minutę, godzinę, dzień, tydzień lub miesiąc.
Dzień w okresie
Jeżeli interwał powtórzeń timera wyrażono w tygodniach lub miesiącach, to w tym miejscu możliwe jest określenie, którego dokładnie dnia tygodnia lub miesiąca timer zostanie uruchomiony.
4. Powtarzaj cyklicznie
Domyślnie odznaczone pole wyboru, które decyduje o tym, czy timer zostanie uruchomiony jednorazowo czy będzie uruchamiany w cyklach.
Liczba wykonań
Całkowita liczba uruchomień timera (liczona łącznie z jego pierwszym uruchomieniem). Domyślna wartość parametru to „5”, jeżeli na liście obok wskazano Skończoną liczbę. Po osiągnięciu zadanej liczby wykonań timer nie będzie już uruchamiany.
W przypadku wybrania Nieskończonej liczby, timer będzie uruchamiany cyklicznie do momentu aż element nie wyjdzie z danego kroku.
5. Warunek dodania
Pole umożliwia wstawienie zapytania SQL sprawdzającego, czy timer ma zostać wstawiony. Jeżeli w wyniku zapytania została zwrócona wartość „1” lub „TRUE”, oznacza to, że timer należy powiązać z elementem. W przeciwnym wypadku nie zostanie on powiązany.
6. Tylko w godzinach nocnych
Pozwala określić, czy timer będzie uruchamiany tylko w godzinach nocnych.
7. Uruchom w określonych godzinach
Pozwala zdefiniować godziny, w których ma być uruchamiany timer. Należy podać zakres godzin „od–do”.
8. Ignoruj dni wolne
Zaznaczenie opcji spowoduje, że wskazane dni będą pomijane podczas obliczania czasów uruchomienia akcji wywoływanych na timer.
Ignoruj weekendy
Akcje nie będą uruchamiane w soboty i niedziele. Dodatkowo soboty i niedziele będą pomijane przy obliczaniu kolejnych cykli uruchomienia, tj. tydzień traktowany jest tak, jakby składał się z 5 dni.
Ignoruj wszystkie dni wolne
Akcje nie będą uruchamiane w dni wolne od pracy, zdefiniowane w kalendarzu dni roboczych. Dodatkowo zdefiniowane dni będą pomijane przy obliczaniu kolejnych cykli uruchomienia.
9. Przejście ścieżką w przypadku błędu
Umożliwia określenie ścieżki, którą przejdzie element, jeżeli dowolna akcja na timer zwróci błąd.
Dotyczy również błędów (ale nie błędów walidacji) z przejścia ścieżką po wywołaniu akcji na timer lub zapisu elementu po wykonaniu akcji na timer w trybie działania Tylko wywołanie akcji. Element nie przejdzie wybraną ścieżką, jeśli dowolna akcja na wybranej ścieżce zwróci wartość „FALSE” lub błąd.
10. Przejście ścieżką gdy błąd walidacji
Pole pozwala określić ścieżkę, którą przejdzie element, jeżeli dowolna akcja na timer zwróci wartość „FALSE”.
Dotyczy błędów walidacji z przejścia ścieżką (ale nie błędów wykonania akcji) po wywołaniu akcji na timer lub zapisu elementu po wykonaniu akcji na timer w trybie działania Tylko wykonanie akcji. Element nie przejdzie wybraną ścieżką, jeśli dowolna akcja na wybranej ścieżce zwróci wartość „FALSE” lub błąd.
11. Dopuszczalna liczba kolejnych błędów
Liczba kolejnych błędnych wykonań timera, która spowoduje zatrzymanie wykonywania akcji z nim powiązanych. Domyślna wartość parametru to „5”.
12. Liczba minut ponowienia w przypadku błędu
Liczba minut, po których nastąpi kolejne wykonanie timera w przypadku błędu. Domyślna wartość parametru to „10”.
13. Testuj
Przycisk umożliwia weryfikację działania timera. Po jego naciśnięciu wyświetlane jest okno Planowane uruchomienia timera.
Podając datę i godzinę wejścia do kroku, użytkownik może przeliczyć, kiedy nastąpi uruchomienie timera zgodnie z wprowadzonymi ustawieniami.
Jeżeli w definicji timera użyto atrybutu typu Data i godzina, to zostanie on wyświetlony w oknie i uwzględniony do przeliczenia planowanych uruchomień timera.
Liczba pozycji wyświetlanych w oknie wynosi maks. 10, przy czym w przypadku mniejszych wartości odpowiada ona zdefiniowanej Liczbie wykonań timera.
Wyliczanie czasów uruchomień timerów
Data pierwszego uruchomienia timera
Data, od której rozpoczynane jest wyliczanie timera, ustawiana jest zgodnie z następującymi warunkami (warunki sprawdzane w podanej kolejności):
- jeśli timer uruchamia się w określonym dniu – datą pierwszego uruchomienia jest pierwsza planowana aktywacja (wyliczona na podstawie definicji timera) następująca po dacie startu i po dacie bieżącej,
- jeśli data startu jest datą z atrybutu – data pierwszego uruchomienia jest datą otrzymaną z atrybutu. Jeżeli jest to data przeszła, pierwsza aktywacja timera nast ępuje natychmiast. Timer jest uruchamiany w momencie startu cyklu,
- jeśli dla timera zdefiniowano przesunięcie – data pierwszego uruchomienia jest datą przekazaną z dodanym przesunięciem,
- Jeśli datą początkową jest data wejścia do kroku i nie ma zdefiniowanego przesunięcia – datą pierwszego uruchomienia jest pierwsza planowana aktywacja po starcie cyklu, wyliczona na podstawie zdefiniowanych interwałów. Timer nie jest uruchamiany w momencie startu cyklu.
Start od daty z atrybutu:*
Data startu: 1 maja; Bieżąca data: 8 maja; Interwał: 5 dni;
Daty kolejnych timerów: 1, 11, 16 maja.
*1 maja jest pierwszą planowaną datą, timer w rzeczywistości uruchomi się 8 maja (od razu po utworzeniu).
Start od daty wejścia do kroku:
Data startu: 1 maja; Bieżąca data: 1 maja; Interwał: 5 dni;
Daty kolejnych timerów: 6, 11, 16 maja.
Data startu: 1 maja; Bieżąca data: 8 maja; Interwał: 5 dni;
Daty kolejnych timerów: 11, 16, 21 maja.
Ignorowanie weekendów
- Typ: minuta; godzina; dzień
Uwzględniany jest 5-dniowy tydzień. Jeśli data uruchomienia wypada w weekend, uruchomienie następuje w najbliższy poniedziałek.
Start od daty z atrybutu:
Data startu: 1 maja (sobota); Bieżąca data: 3 maja (poniedziałek); Interwał: 5 dni;
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 3 (poniedziałek) , 10 (poniedziałek) , 17 (poniedziałek) maja.
Start od daty wejścia do kroku:
Data startu: 1 maja (sobota); Bieżąca data: 3 maja (poniedziałek); Interwał: 5 dni;
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 10 (poniedziałek) , 17 (poniedziałek) , 24 (poniedziałek) maja.
Data startu: 1 maja (sobota); Bieżąca data: 1 maja; Interwał: 5 dni;
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 3 (poniedziałek), 10, 17 maja.
Data startu: 1 lutego (poniedziałek); Bieżąca data: 1 lutego; Interwał: 7 dni;
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 10 (środa), 19 (piątek) lutego, 2 (wtorek), 11 (czwartek), 22 (poniedziałek) marca.
- Typ: tydzień; miesiąc
Jeśli data uruchomienia wypada w weekend, uruchomienie następuje w najbliższy poniedziałek.
Data startu: 1 maja (sobota); Bieżąca data: 5 maja (środa); Interwał: 1 tydzień;
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 10 (poniedziałek) , 17 (poniedziałek) , 24 (poniedziałek) maja.
Data startu: 1 lutego (poniedziałek); Bieżąca data: 1 lutego; Interwał: 1 tydzień;
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 8 (poniedziałek), 15 (poniedziałek), 22 (poniedziałek) lutego.
Ustawienie konkretnego dnia w okresie
Powoduje ustawienie najbliższego (przyszłego) ustawionego dnia, będącego po dacie startu. (Ma zastosowanie dla typu: tydzień i miesiąc).
Data startu: 1 maja (sobota); Bieżąca data: 1 maja (sobota); Interwał: 1 tydzień;
Dzień w okresie: poniedziałek
Daty kolejnych timerów: 3 (poniedziałek) , 10 (poniedziałek) , 17 (poniedziałek) maja.
Data startu: 1 maja (sobota); Bieżąca data: 3 maja (poniedziałek); Interwał: 1 tydzień;
Dzień w okresie: poniedziałek
Daty kolejnych timerów: 10 (poniedziałek) , 17 (poniedziałek) , 24 (poniedziałek) maja.
Data startu: 1 stycznia 2010; Bieżąca data: 1 stycznia 2010; Interwał: 1 miesiąc;
Dzień w okresie: 31
Daty kolejnych timerów: 31 stycznia (niedziela) , 28 lutego (niedziela), 31 marca (środa).
Jeżeli wybrano dzień w okresie i zaznaczono ignorowanie weekendów, jako data wykonania kolejnego timera zostanie ustawiony pierwszy dzień niebędący dniem weekendu.
Data startu: 1 stycznia 2010; Bieżąca data: 1 stycznia 2010; Interwał: 1 miesiąc;
Dzień w okresie: 31
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 1 lutego (poniedziałek) , 1 (poniedziałek), 31 (środa) marca.
Data startu: 1 maja (sobota); Data aktualna: 1 maja (sobota); Interwał: 1 tydzień;
Dzień w okresie: niedziela
Ignorowanie weekendów: włączone
Daty kolejnych timerów: 3 (poniedziałek) , 10 (poniedziałek) , 17 (poniedziałek) maja.
Przesunięcie uruchamiania
Ustawienie wartości przesunięcia powoduje zwiększenie/zmniejszenie daty startowej / daty z atrybutu o podaną w przesunięciu liczbę dni.
Data startu: 1 marca 2010; Bieżąca data: 1 marca 2010; Interwał: 1 miesiąc
Przesunięcie: 7 dni
Daty kolejnych timerów: 8 marca, 8 kwietnia , 8 maja.
Jeżeli zaznaczono opcję ignorowania weekendów, dni przesunięcia są liczone w dniach roboczych.
Data startu: 1 marca 2010; Bieżąca data: 1 marca 2010; Interwał: 1 miesiąc
Przesunięcie: 7 dni
Ignorowanie weekendów: włączone
Daty kolejnych timeró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. Jeśli data uruchomienia wypadanie poza godzinami uruchomienia, pozostały czas przenoszony jest na następny okres godzin uruchamiania:
Godziny uruchomiania: 10:00–15:00, start od daty określonej w atrybucie:
Data startu: 1 maja 2010 8:30; Bieżąca data: 1 maja 2010 9:00; Interwał: 3 godziny
Daty kolejnych timerów: 1 maja 10:00, 1 maja 13:00, 2 maja 11:00.
Godziny uruchomiania: 10:00–15:00, start od daty wejścia do kroku:
Data startu: 1 maja 2010 8:30; Bieżąca data: 1 maja 2010 9:00; Interwał: 3 godziny
Daty kolejnych timerów: 1 maja 13:00, 2 maja 11:00, 2 maja 14:00.
- Typ: tydzień; miesiąc
Jeżeli data uruchomienia wypada poza godzinami uruchomienia, przesuwana jest na następną początkową godzinę wykonania:
Godziny uruchomiania: 10:00–15:00, start od daty określonej w atrybucie:
Data startu: 1 maja 2010 16:00; Bieżąca data: 1 maja 2010 16:00; Interwał: 2 dni
Daty kolejnych timerów: 2 maja 10:00, 4 maja 10:00, 6 maja 10:00.
Godziny uruchomiania: 10:00–15:00, start od daty wejścia do kroku:
Data startu: 1 maja 2010 16:00; Bieżąca data: 1 maja 2010 16:00; Interwał: 2 dni
Daty kolejnych timerów: 4 maja 10:00, 6 maja 10:00, 8 maja 10:00.
Obsługa błędów walidacji / wykonania akcji na timer:
- Błąd walidacji z wykonania akcji na timer powoduje:
- przejście ścieżką błędu walidacji (jeżeli zaznaczono opcję Przejście ścieżką gdy błąd walidacji),
- wyznaczenie następnego uruchomienia zgodnie z algorytmem (tak jakby timer wykonał się poprawnie, zwiększając wartość na liczniku poprawnych wystąpień).
- Błąd walidacji z przejścia ścieżką po wykonaniu akcji na timer powoduje:
- przejście ścieżką błędu walidacji (jeżeli zaznaczono opcję Przejście ścieżką gdy błąd walidacji),
- wyznaczenie następnego uruchomienia zgodnie z algorytmem (tak jakby timer wykonał się poprawnie, zwiększając wartość na liczniku poprawnych wystąpień).
- Błąd wykonania akcji na timer powoduje:
- przejście ścieżką błędu wykonania (jeżeli zaznaczono opcję Przejście ścieżką w przypadku błędu),
- wyznaczenie następnego uruchomienia za tyle minut, na ile ustawiono parametr Liczba minut ponowienia w przypadku błędu.
- Błąd wykonania akcji z przejścia ścieżką po wykonaniu akcji na timer powoduje:
- przejście ścieżką błędu wykonania (jeżeli zaznaczono opcję Przejście ścieżką w przypadku błędu),
- wyznaczenie następnego uruchomienia za tyle minut, na ile ustawiono parametr Liczba minut ponowienia w przypadku błędu.