Toolverse
Wszystkie skille

workflows

autor: useautumn

Asynchroniczne zadania w tle — wybierz SQS do prostych zadań lub Hatchet do złożonych przepływów

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
1

O skillu

Skill do tworzenia asynchronicznych zadań przetwarzanych w tle za pomocą SQS lub Hatchet. SQS sprawdza się do szybkich, niezależnych operacji bez opóźnień dłuższych niż 15 minut. Hatchet nadaje się do złożonych przepływów wymagających powtórzeń, wieloetapowych procesów, dłuższych opóźnień i obserwacji. Definiujesz nazwę zadania, typ payload'u, rejestrujesz workflow w systemie, implementujesz handler i wyzwalasz z kodu. Idealny do kolejek zadań, przetwarzania w tle i operacji asynchronicznych.

Jak używać

  1. Dodaj nazwę zadania do enum JobName w pliku server/src/queue/JobName.ts — każde nowe workflow potrzebuje unikalnego identyfikatora.

  2. Zdefiniuj typ payload'u dla swojego workflow w server/src/queue/workflows.ts — określ pola, które będą przesyłane (np. orgId, customerId, env).

  3. Zarejestruj workflow w workflowRegistry, wskazując nazwę zadania i runner (SQS dla prostych zadań lub Hatchet dla złożonych) — dodaj też funkcję trigger do obiektu workflows.

  4. Utwórz handler dla wybranego runnera — dla SQS sprawdź dokumentację w references/SQS.md, dla Hatchet w references/HATCHET.md.

  5. Wyzwól workflow z kodu, importując funkcję trigger z @/queue/workflows.js i przekazując payload — opcjonalnie dodaj opóźnienie za pomocą parametru delayMs.

  6. Skonfiguruj routing wiadomości SQS w pliku server/src/queue/initWorkers.ts, aby system wiedział, jak obsługiwać przychodzące zadania.

Podobne skille