Serwer ArcGIS Notebook Server udostępnia wiele metod automatyzacji procedur wykonywania zadań, w tym automatyzację za pomocą zaplanowanych notatników, elementów webhook oraz własnych niestandardowych skryptów z użyciem administracyjnego interfejsu API wykonywania notatników.
Notatka:
Aby możliwa była automatyzacja notatnika z użyciem zaplanowanych zadań, elementów webhook lub interfejsu API wykonywania notatników, notatnik musi używać środowiska wykonawczego w wersji 3.0 lub nowszej.
Planowanie zadań notatnika
Począwszy od wersji 10.8.1, twórcy notatników mogą tworzyć harmonogramy aplikacji ArcGIS Notebooks umożliwiające automatyczne uruchamianie notatników w stałych terminach w przyszłości (jedno lub wielokrotnie). Tworzenie zadań w celu zaplanowanego wykonywania notatników umożliwia zautomatyzowanie rutynowych procedur, uruchamianie procesów intensywnie wykorzystujących dane poza szczytowymi godzinami wykorzystania, a także regularne aktualizowanie zestawów danych. Notatnik można na przykład zaplanować w taki sposób, aby wykonywał następujące zadania:
- Importowanie danych ze źródła online, które jest aktualizowane co miesiąc, automatyczne czyszczenie danych i zastosowanie niezbędnych transformacji, a także przenoszenie danych do przestrzeni roboczej.
- Realizowanie w nocy procedury uruchamiania zadań analizy dużych zbiorów danych, która wymaga ogromnych ilości zasobów obliczeniowych, gdy zasoby te nie są używane do innych zadań.
- Zarządzanie użytkownikami, którzy utworzyli konta w portalu w ostatnim tygodniu i przesłanie do Ciebie listy e-mailem.
Dla notatnika można utworzyć jedno lub większą liczbę zadań. Domyślnie autor notatnika lub administrator może utworzyć maksymalnie 20 zadań. Jeśli zmieni się właściciel notatnika, wszystkie zadania powiązane z tym notatnikiem zostają zdezaktywowane i przypisane do nowego właściciela.
Zaplanowane zadania pozwalają na parametryzowanie notatników. Gdy notatnik jest sparametryzowany, umożliwia napisanie ogólnego kodu, który można dostosować do różnych danych wejściowych bez interakcji z użytkownikiem. Wybrane parametry są wstawiane do notatnika podczas uruchamiania zadania i opcjonalnie mogą zostać zapisane w notatniku. Sparametryzowanego notatnika można na przykład użyć do okresowego generowania raportów dotyczących zanieczyszczenia powietrza w całym regionie. Notatnik może mieć wiele zaplanowanych zadań, po jednym dla każdego badanego regionu, a dla każdego zadania sparametryzowanymi danymi wejściowymi przekazywanymi do notatnika mogą być nazwa miasta czy typ zanieczyszczenia.
Notatka:
Liczba uruchomionych współbieżnie zadań notatnika jest ograniczona przez właściwość systemową maxExecuteNotebookContainersPerNode na serwerze Notebook Server.
Zadanie można skonfigurować w taki sposób, by po zakończeniu wykonywania zapisywało stan notatnika w pierwotnym elemencie notatnika.
Dla każdego zaplanowanego zadania, które zostało uruchomione, zapisywany jest statyczny widok HTML notatnika. Domyślnie zapisywane są tylko wyniki ostatnich 30 uruchomień.
Za pomocą strony Zadania w Menedżerze ArcGIS Notebook Server administratorzy mogą wyświetlać szczegóły, edytować, wstrzymywać i wznawiać lub usuwać wszystkie aktywne zadania notatników w witrynie. Administratorzy i autorzy notatników z uprawnieniem do planowania notatników mogą wyświetlać szczegóły, edytować, wstrzymywać i wznawiać lub usuwać zadanie notatnika na stronie szczegółów notatnika lub na panelu zadania w edytorze notatników.
Aby nie dopuścić do powtarzania uruchomień notatnika, które kończą się niepowodzeniem, zaplanowane zadanie zostaje wyłączone po pięciu kolejnych nieudanych uruchomieniach. Przed ponownym aktywowaniem zadania jego właściciel musi zapewnić, by możliwe było uruchomienie notatnika bez żadnej interakcji z użytkownikiem.
Jeśli poprzednie uruchomienie zadania nie zostało jeszcze zakończone, nowe uruchomienie zaplanowanego zadania jest pomijane. Jeśli na przykład zaplanowano uruchamianie zadania co 15 minut, ale instancja tego zadania działa przez 20 minut, następne zaplanowane uruchomienie zostanie pominięte. Jeśli dochodzi do tego regularnie, właściciel zadania powinien tak skorygować zaplanowany przedział czasu, by uruchomienia nie nakładały się na siebie.
Więcej informacji na temat zaplanowanych zadań notatników zawiera temat pomocy Planowanie zadania notatnika.
Za pomocą okna Zarządzaj zadaniami na stronie głównej programu ArcGIS Notebook Server lub na stronie Zadania w narzędziu ArcGIS Notebook Server Manager administratorzy mogą przeglądać szczegóły aktywnych zadań notatników w witrynie, edytować je, wstrzymywać, wznawiać i usuwać. Administratorzy i autorzy z uprawnieniem do planowania notatników mogą wyświetlać szczegóły zadania notatnika, edytować je, wstrzymywać, wznawiać lub usuwać na stronie szczegółów notatnika lub w okienku zadanie w edytorze notatników.
Planowanie limitów zadań
Istnieją pewne limity dotyczące poziomu użytkownika, instytucji i witryny (maszyny/komputera) programu ArcGIS Notebook Server związane z zaplanowanymi zadaniami notatników.
Maksymalna liczba jednoczesnych automatycznych uruchomień notatników (maxExecuteNotebookContainersPerNode)
Gdy notatnik jest uruchamiany za pomocą zaplanowanego zadania, elementu webhook lub interfejsu API wykonywania notatnika, program ArcGIS Notebook Server automatycznie otwiera nowy kontener i uruchamia notatnik bez interakcji z użytkownikiem. Domyślnie serwer ArcGIS Notebook Server jest skonfigurowany do uruchamiania maksymalnie 10 notatników działających jednocześnie na każdym komputerze z aplikacją Notebook Server. Uwzględniając zasoby (procesor i pamięć) dostępne na poszczególnych komputerach w witrynie programu Notebook Server, administrator może skorygować ten limit, modyfikując właściwość systemową maxExecuteNotebookContainersPerNode w programie Notebook Server. Wszelkie zautomatyzowane żądania dotyczące notatników przesłane po przekroczeniu tego limitu zostaną dodane do kolejki i uruchomione, gdy liczba zautomatyzowanych uruchomień zadań spadnie poniżej tego limitu. Zadania w kolejce ulegną niepowodzeniu, jeśli czas oczekiwania przekroczy limit czasu.
Notatka:
Nie ogranicza to liczby notatników uruchamianych interaktywnie w edytorze notatników.
Limit maxExecuteNotebookContainersPerNode można zmienić, wykonując poniższe czynności.
Notatka:
Zwiększenie limitu może zwiększyć wykorzystanie zasobów w programie Notebook Server.
- Zaloguj się w portalu ArcGIS Enterprise jako administrator.
- Otwórz narzędzie ArcGIS Notebook Server Manager.
- Kliknij opcję Ustawienia > Witryna
- Zmień wartość właściwości maxExecuteNotebookContainersPerNode.
- Kliknij przycisk Zapisz.
- Zapoznaj się z ostrzeżeniem dotyczącym ponownego uruchomienia programu Notebook Server, a następnie kliknij opcję Zapisz i uruchom ponownie, aby zapisać zmiany.
Maksymalna liczba aktywnych zaplanowanych zadań notatników na użytkownika
Każdy autor notatników z uprawnieniami do planowania notatników może utworzyć maksymalnie 20 aktywnych zadań notatników. Po wykorzystaniu tego limitu użytkownik nie będzie mógł tworzyć nowych zaplanowanych zadań. Nowe zadanie można utworzyć, gdy istniejące zadanie zmieni się z aktywnego na ukończone, zakończone niepowodzeniem lub nieaktywne. Ten limit można zmienić, aktualizując właściwość ExecuteNotebooksUserLimit za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Maksymalna liczba aktywnych zaplanowanych zadań notatników na instytucję
Maksymalna liczba aktywnych zaplanowanych zadań notatników na instytucję jest ograniczona do 200. Limit ten odpowiada całkowitej liczbie aktywnych zadań, które mogą posiadać wszyscy użytkownicy w instytucji portalu. Po wykorzystaniu tego limitu użytkownicy nie będą mogli tworzyć nowych zaplanowanych zadań notatników. Ten limit można zmienić, aktualizując właściwość ExecuteNotebooksOrgLimit za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Liczba wyników zgłaszanych dla zaplanowanego zadania
Wyniki zadania są zgłaszane i zachowywane przez 30 uruchomień. Uruchomienia zadań wcześniejsze niż ostatnie 30 uruchomień są trwale usuwane. Ten limit można zmienić, aktualizując właściwość TaskRunHistoryCount za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Automatyczne niepowodzenie zadania
Dla każdego zadania, które zakończy się niepowodzeniem 5 razy z rzędu, zostanie automatycznie ustawiony stan niepowodzenia i nie będzie ono już uruchamiane. Aby zapewnić, że zadanie będzie nadal uruchamiane, jego właściciel musi zidentyfikować i usunąć przyczynę niepowodzenia oraz zmienić stan zadania na Aktywne. Ten limit można zmienić, aktualizując właściwość FailedRunsDisableTask za pomocą operacji aktualizacji limitów systemowych w interfejsie API administratora aplikacji ArcGIS Portal.
Automatyzacja notatnika z użyciem elementów webhook
Element webhook to mechanizm umożliwiający aplikacji przesyłanie do innych aplikacji informacji sterowanych zdarzeniami. Administrator oprogramowania ArcGIS Enterprise Portal lub użytkownik z uprawnieniami Elementy webhook instytucji może tworzyć i konfigurować elementy webhook oraz zarządzać nimi. Elementy webhook można skonfigurować do automatycznego uruchamiania notatnika należącego do użytkownika po wystąpieniu zdarzeń powiązanych z elementami, grupami lub użytkownikami portalu. Twój ArcGIS Notebook Server działa jako odbiornik ładunku elementu webhook. Po wyzwoleniu elementu webhook do serwera Notebook Server wysyłane jest żądanie HTTP uruchomienia wybranego notatnika bez żadnej interakcji z użytkownikiem.
Notatka:
Liczba notatników uruchomionych współbieżnie za pomocą elementów webhook jest ograniczona przez właściwość systemową maxExecuteNotebookContainersPerNode na serwerze Notebook Server.
Tworzenie elementu webhook
Elementami webhook można zarządzać na stronie Ustawienia instytucji w portalu. Następujące punkty opisują sposób tworzenia elementu webhook:
- Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
- Wybierz opcję Instytucja > Ustawienia > Elementy webhook.
- Kliknij opcję Utwórz element webhook.
- Podaj nazwę elementu webhook.
Name=mynotebook_webhook
- Wybierz typ zdarzenia, które wywoła element webhook.
Domyślnie uwzględniane są wszystkie typy zdarzeń (Elementy, Użytkownicy, Grupy i Role).
- Użyj opcji Wyzwalacz, aby zaakceptować wartość domyślną (/) lub określić jedną lub większą liczbę wartości jako zdarzenia wyzwalacza.
Zdarzenia=/items, /items/<ID_elementu>,/users
Więcej informacji zawiera temat Obsługiwane zdarzenia wyzwalacza.
Dodatkowe przykłady zawiera sekcja Zdarzenia wyzwalacza.
- Jako typ ładunku wybierz Notatnik.
Notatka:
Jeśli opcja Notatnik nie jest dostępna, oznacza to, że w portalu nie został skonfigurowany serwer Notebook Server. Jeśli opcja Notatnik jest dostępna, ale nie można jej wybrać, oznacza to, że nie posiadasz żadnych notatników dostępnych do konfigurowania elementów webhook. Musisz być właścicielem elementu notatnika, który będzie użyty przez element webhook. - Wybierz notatnik, który będzie uruchamiany po wyzwoleniu elementu webhook.
- Opcjonalnie wprowadź klucz Tajny, który będzie zawarty w ładunku elementu webhook.
Możesz także wybrać losowe, wstępnie wygenerowane wartości dla klucza tajnego.
- Kliknij opcję Utwórz element webhook, aby zapisać ustawienia elementu webhook i utworzyć element webhook.
Zarządzanie elementami webhook
Elementami webhook można zarządzać na stronie Ustawienia instytucji w portalu. Wykonaj następujące czynności, aby zarządzać istniejącymi elementami webhook:
- Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
- Przejdź do opcji Instytucja > Ustawienia > Elementy webhook, aby zobaczyć listę elementów webhook utworzonych przez siebie i innych administratorów elementów webhook.
Istniejącymi elementami webhook można zarządzać za pomocą poniższych operacji.
- Dezaktywacja elementu webhook — jeśli element webhook jest w stanie aktywnym, kliknij opcję Aktywny. Zostanie wyświetlony monit o potwierdzenie zmiany statusu. Kliknij opcję Potwierdź, aby dezaktywować element webhook. Dezaktywacja elementu webhook powoduje zatrzymanie dostarczania ładunków w momencie wyzwolenia tego elementu webhook.
- Aktywacja elementu webhook — jeśli element webhook jest w stanie nieaktywnym, kliknij opcję Nieaktywny. Zostanie wyświetlony monit o potwierdzenie zmiany statusu. Kliknij opcję Potwierdź, aby aktywować element webhook. Kiedy element webhook zostanie aktywowany, wznowi dostarczanie ładunków.
- Edycja elementu webhook — kliknij przycisk opcji na elemencie webhook i kliknij opcję Edytuj, aby aktualizować zdarzenia wyzwalacza elementu webhook lub notatnik określony dla tego elementu webhook.
- Usunięcie elementu webhook — kliknij przycisk opcji na elemencie webhook i kliknij opcję Usuń. Kliknij opcję Potwierdź, aby usunąć element webhook.
Zaawansowane ustawienia elementów webhook
Zaawansowane ustawienia elementów webhook służą do zmiany takich właściwości elementów webhook, jak liczba prób dostarczenia, powiadomienia o upływającym czasie i właściwości limitu czasu powiadomień. Te zaawansowane ustawienia będą dotyczyły wszystkich elementów webhook portalu. Wykonaj następujące czynności, aby zmodyfikować Zaawansowane ustawienia elementów webhook:
- Zaloguj się jako domyślny administrator lub za pomocą niestandardowej roli z uprawnieniem Elementy webhook instytucji.
- Przejdź do opcji Instytucja > Ustawienia > Elementy webhook > Zaawansowane ustawienia elementów webhook, aby zmodyfikować wartości domyślne zaawansowanych właściwości elementów webhook.
Ładunek elementu webhook
Gdy notatnik jest uruchamiany przy użyciu elementu webhook, informacje z ładunku elementu webhook są automatycznie wstrzykiwane do notatnika w komórce początkowej. Po wstrzyknięciu informacji z ładunku elementu webhook można używać w notatniku w kolejnych procedurach wykonywania zadań automatyzacji.
Informacje z ładunku elementu webhook zawarte w tym notatniku:{
"properties": {
"itemId": "<itemId of the current notebook>"
},
"events": [
{
"source": "items",
"id": "<itemId of the item that resulted in webhook trigger>",
"userId": "<webhook user>",
"when": \<epoch time in ms when webhook was triggered\>,
"operation": "<type of operation that resulted in webhook trigger>",
"properties": {},
"username": "<webhook username>"
}
],
"info": {
"webhookId": "<webhookId>",
"portalURL": "<public portal url>",
"webhookName": "<webhook name>",
"when": \<epoch time in ms when webhook was triggered\>,
}
}
Interfejs API wykonywania notatników
Administratorzy i autorzy notatników mogą także automatyzować notatniki w taki sposób, aby były uruchamiane bez interakcji z użytkownikiem. W tym celu należy użyć operacji Wykonaj notatnik w aplikacji ArcGIS Notebook Server Administrator Directory. Wywołanie tej operacji powoduje automatyczne uruchomienie notatnika, ale za pomocą własnego niestandardowego skryptu można zaplanować automatyczne jego uruchamianie o skonfigurowanej godzinie lub w regularnych odstępach czasu. Do zaplanowania uruchamiania operacji Wykonaj notatnik o skonfigurowanej godzinie lub w regularnych odstępach czasu można użyć zadania cron lub harmonogramu systemu Windows.
Więcej informacji zawiera temat Wykonaj notatnik w instrukcji obsługi aplikacji Administrator Directory.