Dokumentacja dla programistów›Planowanie aplikacji›Planowanie zadań cron w monday code
Dokumentacja dla programistów

Planowanie zadań cron w monday code

Planowanie aplikacjiAplikacje monday.com
Aktualizacja 2026-07-08

Harmonogram zadań monday code pozwala planować zadania cron, które uruchamiają się automatycznie według ustalonego harmonogramu, np. co tydzień o 10:00. Aby zacząć, utwórz endpoint w backendzie i skonfiguruj zadanie. Harmonogram zajmie się jego uruchomieniem. To dobre rozwiązanie do cyklicznych automatyzacji, takich jak nocna synchronizacja danych lub generowanie raportów w każdy piątek o 17:00.

Pojęcia

Harmonogram zadań monday code pozwala tworzyć aplikacje z cyklicznymi, zaplanowanymi działaniami lub planować zadania wewnętrzne, np. generowanie raportu.

Każda aplikacja może mieć maksymalnie pięć zaplanowanych zadań w każdym regionie:

  • Aplikacje działające w jednym regionie: maksymalnie 5 zadań łącznie
  • Aplikacje działające w wielu regionach (US, EU, AU): maksymalnie 15 zadań łącznie (po 5 w każdym regionie, z wyjątkiem IL)

Harmonogram nie jest obsługiwany w nowym regionie IL.

Harmonogram działa w określonym regionie. Podczas tworzenia nowego zadania musisz wskazać region, w którym ma ono być uruchamiane. Zaplanowane zadania nie są automatycznie kopiowane między regionami. W razie potrzeby skonfiguruj każde zadanie osobno w każdym regionie.

Wymagania

  • monday apps CLI w wersji 4.7.0

Implementacja

Jak utworzyć zaplanowane zadanie

  1. Zaimplementuj logikę zadania w swoim kodzie.
  2. Utwórz endpoint z prefiksem /mndy-cronjob, który uruchomi tę logikę. Powinna to być trasa POST, ponieważ właśnie tej metody HTTP używa mechanizm uruchamiania zadań cron.
  3. Wdróż aplikację.
  4. Utwórz zaplanowane zadanie za pomocą polecenia CLI mapps scheduler:create. Podczas tworzenia endpointu zaplanowanego zadania upewnij się, że w kodzie trasa ma postać /mndy-cronjob/my-endpoint. W CLI wystarczy jednak podać my-endpoint.
Terminal
$ mapps scheduler:create -a APP_ID -s "0 * * * *" -e "my-endpoint" -n "My-scheduled-job" -d "This job will execute hourly." -z us

Jak przetestować zaplanowane zadanie

Opcja 1: Tymczasowy publiczny endpoint

  1. Dodaj do wdrożenia zwykły publiczny endpoint. Powinien naśladować wewnętrzną logikę zadania, które chcesz przetestować. Zabezpiecz go w jakiś sposób, aby tylko Ty móc go wywołać i przetestować logikę zaplanowanego zadania.
  2. Gdy endpoint będzie działać zgodnie z oczekiwaniami, zmień go w zaplanowane zadanie:
  3. Dodaj prefiks /mndy-cronjob.
  4. Wdróż go do najnowszej wersji roboczej.
  5. Opublikuj zaktualizowaną wersję.

Opcja 2: Wdrożenie z wymuszonym wysłaniem kodu do ręcznego testowania

  1. Dodaj do kodu nowy endpoint zaplanowanego zadania. Aby uniknąć niezamierzonych uruchomień, ustaw harmonogram na przyszłą datę, np. 31 grudnia 2050 r.
  2. Wymuś wysłanie kodu do istniejącej, opublikowanej wersji aplikacji. Dzięki temu nowy endpoint zaplanowanego zadania będzie dostępny do automatycznego wywołania.
  3. Użyj polecenia mapps scheduler:run, aby ręcznie uruchomić zadanie.
  4. Gdy zadanie będzie działać zgodnie z oczekiwaniami, uruchom mapps scheduler:update, aby ustawić właściwy harmonogram.

Jak zarządzać zaplanowanymi zadaniami

Zadanie Polecenie
Utwórz mapps scheduler:create
Wyświetl listę mapps scheduler:list
Zaktualizuj mapps scheduler:update
Usuń mapps scheduler:delete
Uruchom ręcznie mapps scheduler:run

Monitorowanie

Wywołania zaplanowanych zadań są monitorowane tak samo jak wywołania innych publicznych endpointów monday code. Generują logi HTTP i metryki żądań, dostępne w sekcjach Logging i Monitoring w Developer Center. Logi zapisywane przez logikę zadania pojawią się jako logi konsoli.

Rozwiązywanie problemów

Błędy

Zaplanowane zadania można tworzyć w dowolnej wersji aplikacji, ale można je uruchamiać tylko w opublikowanej wersji. Jeśli utworzysz zadanie, ale nie masz jeszcze opublikowanej wersji z dostępnym endpointem, próby jego uruchomienia spowodują błędy 404 widoczne w sekcji Monitoring. Zadanie zacznie się uruchamiać dopiero po opublikowaniu wersji.