Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

Używanie harmonogramu zadań w AppMasterze

Używanie harmonogramu zadań w AppMasterze

Task Scheduler w backendzie aplikacji AppMaster, jak w klasycznym przypadku backendu, tworzy powtarzające się scenariusze. Na przykład wtedy, gdy trzeba wykonać określoną czynność zgodnie z harmonogramem. Klasycznym przykładem takich zadań jest przykład czyszczenia plików tymczasowych na serwerze, cotygodniowe tworzenie kopii zapasowych, generowanie raportów według określonego algorytmu itp.

Rozważmy przykład wykorzystania harmonogramu zadań w backendzie aplikacji AppMaster. Załóżmy, że chcesz zbudować proces, który codziennie rano o godzinie 9.00 będzie wysyłał użytkownikowi pogodę na jego numer telefonu komórkowego.

Zadanie jest więc podzielone na kilka logicznych etapów:

  • Zainstalowanie i skonfigurowanie modułu do wysyłania wiadomości na telefony komórkowe
  • Stworzenie i skonfigurowanie procesu API z zewnętrznym żądaniem
  • Skonfigurowanie schedulera w backendzie aplikacji.

1. Instalacja i konfiguracja modułu do wysyłania wiadomości mobilnych.Moduł Nexmo pozwala na zintegrowanie z aplikacją AppMaster możliwości wysyłania wiadomości SMS na wybrany numer.

Nexmo module

Wraz z instalacją modułu automatycznie instalowane są następujące procesy biznesowe:

  • Nexmo.Wyślij SMS - umożliwia wysyłanie wiadomości na podany numer poprzez.

moduł Nexmo:

  • Phone [telefon] - numer telefonu, na który zostanie wysłana wiadomość;
  • Treść [string] - wiadomość tekstowa;

Nexmo Send SMS

2. Jako źródło danych pogodowych wykorzystany zostanie darmowy zasób internetowy OpenWeather API(https://openweathermap.org/api).Pierwszym krokiem jest stworzenie zewnętrznego szablonu API request. Szablony żądań API są prezentowane w sekcji Business Process na karcie External API Requests. Aby utworzyć nowy szablon, kliknij przycisk Create API request.

Create API request AppMaster

Typ żądania: GET

Adres żądania: https://api.openweathermap.org/data/2.5/weather

Query Params:

  • Lat [string] - szerokość geograficzna
  • Lon [string] - długość geograficzna
  • Appid [string] - klucz API OpenWeather

W ramach tego zadania interesuje nas tylko kilka pól ciała odpowiedzi w main(https://openweathermap.org/api/one-call-3).

  • Temp [float] - temperatura
  • Temp_min [float] - temperatura min.
  • Temp_max [float] - temperatura maksymalna
  • Ciśnienie [float] - ciśnienie
  • Humidity [float] - wilgotność

Request GET AppMaster

3. Przed skonfigurowaniem harmonogramu zadań należy stworzyć Business Process, który będzie odbierał informacje o pogodzie poprzez API. Proces biznesowy wygląda następująco:

Business Process no-code AppMaster

  • Make Weather Query Model In - tworzy wirtualny model parametrów żądania. Lon, lat - współrzędne żądanej lokalizacji, appid - klucz API serwisu OpenWeather;
  • API Request: Weather - proces biznesowy odpowiedzialny za interakcję z API OpenWeather
  • Expand Weather: Body Model Out - potrzebny do wdrożenia modelu odpowiedzi Body

Business Process AppMaster

  • Expand Weather: Body Model Out_main - rozszerza główny model ciała odpowiedzi Body w celu uzyskania temperatury (temp).
  • To String - konwertuje wartość pola temp na typ string;
  • Nexmo: Send SMS - wysyła wiadomość z informacją o temperaturze (Content) na wskazany numer telefonu (Phone)

Ustawienie harmonogramu w sekcji procesu biznesowego w zakładce Scheduler.

Ustawienia harmonogramów w zakładce Harmonogram różnią się w zależności od ich typu.

Przeanalizujmy szczegółowo każdy z nich

1. Dzienny - umożliwia konfigurację harmonogramów dziennych

Scheduler settings AppMaster

  • Godzina - definiuje godzinę w UTC+0, o której harmonogram będzie uruchamiał wybrany BP;
  • Dni tygodnia - definiuje dni tygodnia, w których ma pracować scheduler;
  • Automatycznie rozpoczynaj - jeśli ustawione na True, nowy BP nie zostanie rozpoczęty, jeśli poprzedni nie został zakończony. Wartość domyślna: False.
  • Automatically retry - automatycznie wznawia proces, jeśli został on przerwany/nie został pomyślnie rozpoczęty.
Try AppMaster no-code today!
Platform can build any web, mobile or backend application 10x faster and 3x cheaper
Start Free

Retry failed items processing - liczba prób ponownego uruchomienia procesu;

Wait before each retry attempt - czas opóźnienia przed każdym strzałem do ponownego uruchomienia procesu;

  • Force quit - wymuszaj zakończenie procesu, jeśli nie zostanie zakończony w ciągu kilku sekund. True - domyślnie. Liczba sekund do zakończenia wynosi 3 sekundy, domyślnie.

2. Monthly - planer miesięczny

scheduler monthly planner

  • Time - określa godzinę w UTC+0, o której scheduler rozpocznie wybrany BP;
  • Dni tygodnia - składają się z dwóch ustawień:

Częstotliwość powtarzania:

  • Co pierwszy
  • Co drugi
  • Co trzeci
  • Co czwarty
  • Ten dzień

Dzień tygodnia - określa dzień tygodnia

  • Month - określany jest miesiąc
  • Auto Start - Jeśli ustawione na True, nowy PSU nie będzie uruchamiany jeśli nie zostanie ukończony wkrótce. Wartość domyślna: False.
  • Automatycznie ponawiaj próbę - automatycznie wznawia proces jeśli został przerwany/nie uruchomiony

Retry processing failed items - liczba ponownych uruchomień procesu;

Wait before each retry - czas opóźnienia przed każdą próbą ponownego uruchomienia procesu;

  • Force Quit - kończy proces, jeśli nie zostanie zakończony w ciągu kilku sekund. Domyślnie True. Liczba sekund do zakończenia wynosi domyślnie 3 sekundy.

3. Periodically - pozwala na elastyczne skonfigurowanie częstotliwości działania schedulera

scheduler periodically no code

  • Every - możliwość ustawienia powtarzalności co N sekund/minut/godzin/dni. Domyślnie: co 1 godzinę.
  • Automatycznie rozpoczynaj - jeśli ustawione na True, nowy BP nie rozpocznie się, jeśli poprzedni nie został zakończony. Wartość domyślna: False.
  • Automatically retry - automatycznie wznawia proces, jeśli został przerwany/nie został uruchomiony pomyślnie

Retry failed items processing - liczba prób ponownego uruchomienia procesu;

Wait before each retry attempt - czas opóźnienia przed każdym strzałem do ponownego uruchomienia procesu;

  • Force quit - wymuszaj zakończenie procesu, jeśli nie zostanie zakończony w ciągu kilku sekund. True - domyślnie. Liczba sekund do zakończenia wynosi 3 sekundy, domyślnie.

4. Po uruchomieniu aplikacji - planista zadań jednorazowych.

scheduler after Starting App

  • Delay - definiuje opóźnienie pomiędzy startem aplikacji a uruchomieniem. Domyślnie - 0 sek.
  • Automatically retry - automatyczne ponowne uruchomienie procesu, jeśli został on przerwany/nie został pomyślnie uruchomiony

Retry failed items processing - liczba prób ponownego uruchomienia procesu;

Wait before each retry attempt - czas opóźnienia przed każdym strzałem do ponownego uruchomienia procesu;

  • Force quit - wymuszaj zakończenie procesu, jeśli nie zostanie zakończony w ciągu kilku sekund. True - domyślnie. Liczba sekund do zakończenia wynosi 3 sekundy, domyślnie.

5. Przed zakończeniem aplikacji - uruchamiaj scheduler za każdym razem, gdy aplikacja się kończy

scheduler no code

  • Automatically retry - automatycznie wznawia proces, jeśli został on przerwany/nie został uruchomiony pomyślnie

Retry failed items processing - liczba prób ponownego uruchomienia procesu;

Wait before each retry attempt - czas opóźnienia przed każdą próbą ponownego uruchomienia procesu;

  • Force quit - wymuszaj zakończenie procesu, jeśli nie zostanie zakończony w ciągu kilku sekund. True - domyślnie. Liczba sekund do zakończenia wynosi 3 sekundy, domyślnie.

W zakładce Params w ustawieniach schedulera można również przekazać parametry do wejścia BP, gdy jest ono uruchamiane przez scheduler:

Params no-code

W naszym przykładzie ustawienia schedulera wyglądają następująco:

  • Wiadomości będą wysyłane codziennie o 9 rano UTC+0
  • Automatycznie próbuje ponownie uruchomić proces 3 razy z opóźnieniem 10 minut między próbami, jeśli proces nie rozpoczął się natychmiast;
  • Siłowo kończy proces, jeśli nie został zakończony w ciągu trzech sekund.

scheduler no-code

Nasza aplikacja żyje i działa w backendzie, więc aby działała, wystarczy ją opublikować.

Powiązane posty

Jak platformy telemedyczne mogą zwiększyć przychody Twojej praktyki
Jak platformy telemedyczne mogą zwiększyć przychody Twojej praktyki
Dowiedz się, w jaki sposób platformy telemedyczne mogą zwiększyć przychody Twojej praktyki poprzez zapewnienie lepszego dostępu pacjentom, obniżenie kosztów operacyjnych i poprawę opieki.
Rola LMS w edukacji online: transformacja e-learningu
Rola LMS w edukacji online: transformacja e-learningu
Dowiedz się, w jaki sposób systemy zarządzania nauczaniem (LMS) zmieniają edukację online, zwiększając jej dostępność, zaangażowanie i skuteczność dydaktyczną.
Kluczowe cechy, na które należy zwrócić uwagę przy wyborze platformy telemedycznej
Kluczowe cechy, na które należy zwrócić uwagę przy wyborze platformy telemedycznej
Odkryj kluczowe funkcje platform telemedycznych — od zabezpieczeń po integrację — zapewniające bezproblemową i wydajną zdalną opiekę zdrowotną.
ROZPOCZNIJ BEZPŁATNIE
Zainspirowany do samodzielnego wypróbowania?

Najlepszym sposobem na zrozumienie mocy AppMaster jest zobaczenie tego na własne oczy. Stwórz własną aplikację w ciągu kilku minut z bezpłatną subskrypcją

Wprowadź swoje pomysły w życie