Skip to main content
Автоматизація — це частини додатку, які працюють самостійно — за розкладом або коли зовнішній сервіс надсилає подію. Ви оголошуєте їх на компоненті process у kazzle.config.ts. Один компонент може мати стільки тригерів, скільки вам потрібно.

Структура

Тут відбуваються дві речі:
  • processMode визначає життєвий цикл — довгоживучий сервер або одноразовий запуск на тригер.
  • triggers[] перелічує події, які мають запустити цей компонент.
Ці два елементи незалежні один від одного. Постійний сервер може мати крон. Тимчасовий процес може мати вебхук. Виберіть життєвий цикл, який підходить для вашого завдання, а потім додайте стільки тригерів, скільки вам потрібно.

processMode

Тригери

Кожен тригер має name (унікальне в межах компонента), kind та — залежно від режиму — schedule та/або path.

Режим Persistent — HTTP у сервер

Коли тригер спрацьовує для постійного компонента, Kazzle надсилає POST на ваш сервер за оголошеним path. Запит містить: Для вебхук-тригерів тіло оригінального запиту пересилається як тіло POST. Для тригерів розкладу тіло порожнє.

Режим Triggered — одноразово на тригер

Коли тригер спрацьовує для компонента triggered, Kazzle запускає скрипт входу заново та чекає його завершення. Немає path; скрипт дізнається, який тригер спрацював, з змінних середовища.
Компоненти Triggered не мають неробочих машин на продакшені — вони запускаються на кожен виклик і завершуються при виході.

URL вебхуків

Сегмент triggerName має збігатися з записом kind: 'webhook' у triggers[] цього компонента. Невідомі імена тригерів повертають 404.

Роздільна здатність розкладу

Крон-вирази мають 5 полів (хвилина, година, день місяця, місяць, день тижня) і мінутна роздільна здатність — мінімум. Розклади з роздільною здатністю менше хвилини відхиляються під час перевірки маніфесту.

Як записуються запуски

Кожне спрацювання тригера записує рядок process_runs з trigger_name, triggered_by, run_id та статусом завершення запуску. Ви можете запитати їх з вашого коду або переглянути їх у представленні запусків додатку.

Вичерпання кредитів

Невдалий запуск записується та логується, але розклад продовжує працювати за звичайним графіком — ненадійний запуск ніколи не вимикає тригер. Єдине, що зупиняє запуск — це кредити: кожне спрацювання тригера перевіряється проти балансу простору, і поки простір без кредитів (або не має налаштованого біллінгу), запуски пропускаються з 402. Це самовідновлюється — розклад залишається активним і наступне спрацювання після поповнення запускається нормально, без ручного відновлення.

Додавання автоматизації пізніше

Простий додаток може почати без тригерів і отримати їх пізніше — додайте щоденне резюме, підключіть Stripe, запустіть очистку. Життєвий цикл компонента (processMode) та тригери (triggers[]) незалежні, тому ви можете змінити їх без переписування решти додатку.