Przejdź do głównej zawartości

Automatyzacja Zadań - SDK

CGC SDK umożliwia użytkownikom budowanie potoków oraz włączanie logiki do zarządzania zadaniami.

Informacja

Do połączenia z platformą wymagany jest ważny kontekst, a uprawnienia telemetryczne muszą być ustawione, aby uniknąć przerwania procesu.

Podstawowe Zastosowanie

Tworzenie i usuwanie zadań można zrealizować w następujący sposób:

Tworzenie zadania

Proste tworzenie zadania:

import cgc.sdk as cgc
# Tworzenie zadania
response_created = cgc.jobs.job_create("nazwa", "nazwa-obraz:tag", cpu = 12, memory = 128,
gpu = 1, gpu_type="A100")

Tworzenie zadania z zamontowanym wolumenem na określonej ścieżce:

import cgc.sdk as cgc
# Tworzenie zadania z zamontowanym woluminem
response_created = cgc.jobs.job_create("nazwa", "nazwa-obraz:tag", cpu = 12, memory = 128,
gpu = 1, gpu_type="A100", volumes=["dane-treningowe"], volume_full_path="/tmp/dane")

Dane zostaną zamontowane w katalogu /tmp/dane.

Jeśli chcesz użyć wielu wolumenów dla zadania, możesz przekazać listę wolumenów:

Informacja

Wolumeny zostaną zamontowane w: /usr/'nazwa_wolumenu'

import cgc.sdk as cgc
# Tworzenie zadania z wieloma zamontowanymi wolumenami
response_created = cgc.jobs.job_create("nazwa", "nazwa-obraz:tag", cpu = 12, memory = 128,
gpu = 1, gpu_type="A100", volumes=["wol-1", "wol-2"])

Jeśli nie musisz monitorować statusu zadania, możesz ustawić parametr ttl_seconds_after_finished, aby automatycznie usunąć zadanie po określonym czasie:

import cgc.sdk as cgc
# Tworzenie zadania z TTL
response_created = cgc.jobs.job_create("nazwa", "nazwa-obraz:tag", cpu = 12, memory = 128,
gpu = 1, gpu_type="A100", ttl_seconds_after_finished=3600)

Argumenty funkcji

Nazwa argumentuWartośćDomyślnieOpisWymagane
namestringBrakNazwa zadania*
image_namestringBrakNazwa obrazu z repozytorium publicznego lub prywatnego*
repository_secretstringBrakNazwa sekretu zapewnionego przez zespół CGC dla repo prywatnych
cpuint1Liczba vCPU
memoryint [GB]2Ilość pamięci RAM w GB
shm_sizeint [GB]0Rozmiar pamięci współdzielonej wyciętej z pamięci RAM
gpuint0Liczba GPU
gpu_typestring [A100 | A5000]A5000Typ GPU
volumeslista[]Lista wolumenów do zamontowania
volume_full_pathstringBrakŚcieżka, w której wolumen zostanie zamontowany
startup_commandstringBrakJeśli nie określono w obrazie Docker
resource_datalista[]Lista parametrów w formacie klucz=wartość
ttl_seconds_after_finishedintBrakCzas życia w sekundach po zakończeniu zadania
active_deadline_secondsintBrakCzas życia w sekundach po uruchomieniu zadania

active_deadline_seconds może być ustawiony ręcznie przez użytkownika lub administratora.

Usuwanie zadania

import cgc.sdk as cgc

# Usuwanie aplikacji
response_deleted = cgc.jobs.job_delete("nazwa")

Argumenty funkcji

Nazwa argumentuWartośćDomyślnieOpisWymagane
namestringBrakNazwa zadania*

Lista uruchomionych i oczekujących zadań

import cgc.sdk as cgc
# Pobieranie statusu aplikacji
response_list = cgc.jobs.job_list()