Cron Jobs
Cron Jobs
Dział zatytułowany „Cron Jobs”Funkcja Cron Jobs pozwala tworzyć unikalne URL endpointy, które po wyzwoleniu automatycznie zamykają wszystkie aktywne logi śledzenia czasu dla wybranego zestawu stanowisk. Jest to przydatne do kończenia zmian, zamykania niedokończonych timerów na koniec dnia lub koordynacji z zewnętrznymi schedulerami (cron serwera, platformy automatyzacji, zaplanowane webhooki).

Przegląd
Dział zatytułowany „Przegląd”Każdy cron job składa się z:
| Pole | Opis |
|---|---|
| Nazwa | Przyjazna etykieta opisująca, co robi cron job (na przykład „Koniec dnia — zespół montażu”). Ta nazwa jest też używana jako temat wiadomości email z podsumowaniem. |
| URL endpointu | Unikalny, automatycznie wygenerowany URL zawierający sekretny token. Każdy z tym URL może wyzwolić cron job, więc traktuj go jak poświadczenie. |
| Email powiadomień (opcjonalnie) | Jeśli wypełnione, na ten adres wysyłany jest email z podsumowaniem za każdym razem, gdy cron job zostaje wyzwolony. Pozostaw puste, aby wyłączyć powiadomienia email. |
| Stanowiska | Jedno lub więcej stanowisk, których aktywne wpisy śledzenia czasu zostaną zamknięte przy wywołaniu URL. |
| Ostatnie uruchomienie | Znacznik czasu ostatniego udanego wyzwolenia. |
Możesz tworzyć tyle cron jobów, ile potrzebujesz, każdy z własnym zestawem stanowisk i własnym URL. Dzięki temu łatwo zamykać logi o różnych porach dla różnych zespołów lub działów — na przykład jeden cron job dla linii montażowej o 16:00 i drugi dla lakierni o 18:00.
Kiedy używać
Dział zatytułowany „Kiedy używać”Typowe scenariusze:
- Sprzątanie końca zmiany — automatyczne zatrzymanie wpisów śledzenia czasu, których pracownik zapomniał zatrzymać przed wyjściem.
- Harmonogramy per-zespół — różne działy kończą o różnych porach, więc każdy dostaje własny cron job i własną porę dnia.
- Integracja z platformami automatyzacji — zaplanuj przepływ Zapier, Make.com lub podobny do cyklicznego trafiania w URL.
- Cron serwera — wywołaj endpoint z crona Linuksa, Harmonogramu Zadań Windows lub dowolnego schedulera opartego o HTTP.
Zarządzanie cron jobami
Dział zatytułowany „Zarządzanie cron jobami”Otwórz Ustawienia Aplikacji → Cron Jobs, aby zarządzać listą.
Utwórz cron job
Dział zatytułowany „Utwórz cron job”- Kliknij Dodaj cron job.
- Nadaj mu opisową Nazwę — będzie też używana jako temat wiadomości z powiadomieniem.
- Opcjonalnie wpisz Email powiadomień. Jeśli wypełnione, na ten adres wysyłany jest email z podsumowaniem za każdym razem, gdy cron job zostaje wyzwolony. Pozostaw puste, aby wyłączyć powiadomienia email.
- Zaznacz jedno lub więcej Stanowisk na liście. Tylko aktywne logi czasu tych stanowisk zostaną zamknięte przez ten URL.
- Kliknij Zapisz.
Unikalny URL endpointu jest generowany automatycznie.
Edytuj cron job
Dział zatytułowany „Edytuj cron job”Kliknij ikonę ołówka obok cron joba, aby zmienić jego nazwę lub przypisania stanowisk. URL endpointu pozostaje ten sam — istniejące integracje dalej działają.
Usuń cron job
Dział zatytułowany „Usuń cron job”Kliknij ikonę kosza i potwierdź. URL endpointu przestaje działać natychmiast. Jest to trwałe i nie można cofnąć.
Skopiuj URL endpointu
Dział zatytułowany „Skopiuj URL endpointu”Kliknij ikonę kopiowania obok URL. Ikona zmienia się na chwilę w zielony znacznik, by potwierdzić, że URL znajduje się w schowku.
Wyzwalanie endpointu
Dział zatytułowany „Wyzwalanie endpointu”URL endpointu akceptuje zarówno żądania GET, jak i POST — wybierz to, co łatwiejsze dla Twojego schedulera. Nie jest wymagany żaden nagłówek uwierzytelniania; tokenem poświadczającym jest token w URL.
Przykłady
Dział zatytułowany „Przykłady”curl
curl https://your-board.example.com/cron/abc123xyz...Linux crontab (zamknij zmianę w każdy dzień roboczy o 17:00)
0 17 * * 1-5 curl -fsS https://your-board.example.com/cron/abc123xyz... > /dev/nullZapier / Make.com / n8n — użyj wbudowanej akcji Webhooks / HTTP Request i wskaż na URL.
Odpowiedź
Dział zatytułowany „Odpowiedź”Udane wyzwolenie zwraca payload JSON w stylu:
{ "success": true, "closed": 3, "cron_job": "End of day - assembly"}closed to liczba aktywnych wpisów śledzenia czasu, które zostały zatrzymane.
Jeśli cron job nie ma przypisanych stanowisk, odpowiedź będzie:
{ "success": true, "closed": 0, "message": "No workstations assigned."}Co dzieje się przy wyzwoleniu
Dział zatytułowany „Co dzieje się przy wyzwoleniu”Gdy endpoint zostaje wywołany, system:
- Znajduje każdy aktywny wpis śledzenia czasu (uruchomiony timer bez czasu zatrzymania), którego stanowisko jest przypisane do tego cron joba.
- Ustawia
stopped_atna bieżący czas i zapisuje upływny czas trwania. - Pisze automatyczny wpis logu na każdym dotkniętym zadaniu, oznaczony jako
Auto-closed by cron job: {name}, dzięki czemu zarejestrowany czas jest zachowany w logu stanowiska. - Aktualizuje znacznik czasu Ostatnie uruchomienie cron joba.
- Jeśli ustawiony jest Email powiadomień, wysyła email z podsumowaniem (patrz niżej).
Wpisy, które nie są aktywne (timery już zatrzymane lub działające na stanowiskach spoza listy tego crona), nie są ruszane.
Powiadomienia email
Dział zatytułowany „Powiadomienia email”Jeśli pole Email powiadomień na cron jobie jest wypełnione, każde wyzwolenie tego endpointu wysyła email z podsumowaniem na ten adres.
Email zawiera:
- Temat — Nazwę cron joba, dokładnie tak, jak skonfigurowana.
- Wyzwolono o — datę i czas, kiedy nastąpiło wyzwolenie.
- Zamknięte logi — tabelę z każdym aktywnym wpisem śledzenia czasu, który został zamknięty, z nazwiskiem pracownika, stanowiskiem i upływnym czasem trwania.
Jeśli w momencie wyzwolenia nie znaleziono aktywnych wpisów, email i tak jest wysyłany, ale treść zaznacza, że żadne logi nie zostały zamknięte. Jest to przydatne jako sygnał heartbeat potwierdzający, że scheduler działa.
Przykładowa treść maila:
Wyzwolono o: 2026-05-26 17:00:03
Zamknięte logi (2):
Pracownik Stanowisko Czas trwania Jan Kowalski Montaż 1 3h 12min Anna Nowak Kabina Lakiernicza 45min
Aby wyłączyć powiadomienia email, po prostu wyczyść pole na cron jobie i zapisz.
Dostarczanie maili używa tego samego transportu poczty (SMTP itp.) skonfigurowanego dla reszty aplikacji. Jeśli dostarczenie zawiedzie z jakiegokolwiek powodu, awaria jest logowana, a odpowiedź wyzwolenia i tak zwraca sukces — zamykanie logów czasu nie jest blokowane problemami z pocztą.
Notatki bezpieczeństwa
Dział zatytułowany „Notatki bezpieczeństwa”- URL endpointu zawiera 40-znakowy losowy token i jest jedyną rzeczą stojącą między publicznym internetem a tą akcją. Traktuj go jak hasło.
- Jeśli URL wycieknie, usuń cron job — to natychmiast unieważnia URL — i utwórz nowy, by wydać świeży URL.
- Endpoint jest ograniczony do 60 żądań na minutę na IP, by zapobiec nadużyciom.
- Akcja jest per-tenant: token zawsze wpływa tylko na wpisy czasu należące do tenanta, który utworzył cron job.
Wskazówki
Dział zatytułowany „Wskazówki”- Nadaj każdemu cron jobowi nazwę odzwierciedlającą zarówno zespół, jak i harmonogram (na przykład „17:00 dni robocze — montaż”), by móc je rozróżnić na pierwszy rzut oka.
- Używaj osobnego cron joba na zespół, zamiast jednego dużego — daje to drobniejszą kontrolę nad harmonogramami i ułatwia wyłączenie lub zmianę zachowania dla jednego zespołu.
- Przetestuj URL raz ręcznie (z przeglądarki lub curl) po utworzeniu, by potwierdzić, że zwraca odpowiedź
success: true.