logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Початок
Посібник
Розробка
Плагіни
API
logologo
Робочий процес
Огляд
Швидкий старт

Тригер

Огляд
Події таблиці даних
Завдання за розкладом
Подія перед дією
Подія після дії
Користувацька подія дії
Затвердження
Webhook

Вузол

Огляд

Штучний інтелект (AI)

Велика мовна модель (LLM)

Керування потоком

Умова
Розгалуження за умовами
Цикл
Змінна
Паралельне розгалуження
Виклик робочого процесу
Вивід потоку
Мапінг змінних JSON
Затримка
Завершення

Обчислення

Обчислення
Обчислення дати
Обчислення JSON

Операції з даними

Додавання даних
Оновлення даних
Запит даних
Видалення даних
Операції SQL

Ручна обробка

Ручна обробка
Затвердження
Копія (CC)

Розширені типи

HTTP-запит
Скрипт JavaScript
Сповіщення
Надсилання email
Відповідь
Повідомлення-відповідь
Змінна
Журнал виконання
Керування версіями
Розширені налаштування

Розробка розширень

Огляд
Розширення типів тригерів
Розширення типів вузлів
Довідник API
Previous PageПодії таблиці даних
Next PageПодія перед дією
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#Заплановані завдання

#Вступ

Заплановане завдання — це подія, що запускається за часовою умовою, і має два режими:

  • Користувацький час: Звичайний запуск, схожий на cron, за системним часом.
  • Поле часу колекції: Запускається за значенням поля часу в колекції, коли настає вказаний час.

Коли система досягає моменту часу (з точністю до секунди), що відповідає налаштованим умовам запуску, буде запущено відповідний робочий процес.

#Основне використання

#Створення запланованого завдання

У списку робочих процесів, під час створення робочого процесу, оберіть тип «Заплановане завдання»:`

Створення запланованого завдання

#Режим користувацького часу

Для звичайного режиму спочатку потрібно налаштувати час початку на будь-який момент часу (з точністю до секунди). Час початку можна встановити на майбутнє або на минуле. Якщо встановлено час у минулому, система перевірить, чи настав час, відповідно до налаштованої умови повтору. Якщо умова повтору не налаштована, і час початку в минулому, то робочий процес більше не буде запущений.

Правило повтору можна налаштувати двома способами:

  • За інтервалом: Запускається через фіксований інтервал після часу початку, наприклад, щогодини, кожні 30 хвилин тощо.
  • Розширений режим: Тобто за правилами cron, можна налаштувати для запуску в періоди, що відповідають фіксованим правилам дати та часу.

Після налаштування правила повтору ви також можете налаштувати умову завершення. Вона може бути завершена у фіксований момент часу або обмежена кількістю виконань.

#Режим поля часу колекції

Використання поля часу колекції для визначення часу початку — це режим запуску, який поєднує звичайні заплановані завдання з полями часу колекції. Використання цього режиму може спростити вузли в деяких специфічних робочих процесах, а також є більш інтуїтивно зрозумілим у налаштуванні. Наприклад, щоб змінити статус прострочених неоплачених замовлень на «скасовано», ви можете просто налаштувати заплановане завдання в режимі поля часу колекції, обравши час початку через 30 хвилин після створення замовлення.

#Корисні поради

#Заплановані завдання у неактивному або вимкненому стані

Якщо налаштована часова умова виконана, але весь сервіс NocoBase перебуває у неактивному або вимкненому стані, то заплановане завдання, яке мало б запуститися в цей момент, буде пропущено. Крім того, після перезапуску сервісу, пропущені завдання більше не будуть запускатися. Тому під час використання може знадобитися розглянути обробку таких ситуацій або запасні заходи.

#Кількість повторів

Коли в умові завершення налаштовано «за кількістю повторів», враховується загальна кількість виконань для всіх версій одного й того ж робочого процесу. Наприклад, якщо заплановане завдання було виконано 10 разів у версії 1, і кількість повторів також встановлена на 10, цей робочий процес більше не буде запускатися. Навіть якщо його скопіювати в нову версію, він не буде запущений, якщо не змінити кількість повторів на число, більше за 10. Однак, якщо його скопіювати як новий робочий процес, кількість виконань буде перерахована з 0. Без зміни відповідних налаштувань, новий робочий процес може бути запущений ще 10 разів.

#Відмінності між інтервалом та розширеним режимом у правилах повтору

Інтервал у правилі повтору відраховується від моменту останнього запуску (або часу початку), тоді як розширений режим запускається у фіксовані моменти часу. Наприклад, якщо налаштовано запуск кожні 30 хвилин, і останній запуск був 2021-09-01 12:01:23, то наступний запуск відбудеться 2021-09-01 12:31:23. Розширений режим, тобто режим cron, запускається за правилами, які завжди прив'язані до фіксованих моментів часу. Наприклад, можна налаштувати запуск на 01-й та 31-й хвилині кожної години.

#Приклади

Припустимо, щохвилини потрібно перевіряти замовлення, які не були оплачені протягом 30 хвилин після створення, і автоматично змінювати їх статус на «скасовано». Розглянемо реалізацію за допомогою обох режимів.

#Режим користувацького часу

Створіть робочий процес на основі запланованого завдання. У налаштуваннях тригера оберіть режим «Користувацький час». Час початку оберіть будь-який момент, не пізніший за поточний. Для правила повтору оберіть «Щохвилини». Умову завершення залиште порожньою:

Заплановане завдання_Налаштування тригера_Режим користувацького часу

Потім налаштуйте інші вузли відповідно до логіки процесу: обчисліть час 30 хвилин тому, і змініть статус неоплачених замовлень, створених до цього часу, на «скасовано»:

Заплановане завдання_Налаштування тригера_Режим користувацького часу

Після активації робочого процесу, він буде запускатися щохвилини, починаючи з часу початку, обчислюючи час 30 хвилин тому, щоб оновити статус замовлень, створених раніше цього моменту, на «скасовано».

#Режим поля часу колекції

Створіть робочий процес на основі запланованого завдання. У налаштуваннях тригера оберіть режим «Поле часу колекції». Для колекції оберіть таблицю «Замовлення». Час початку встановіть на 30 хвилин після часу створення замовлення. Для правила повтору оберіть «Не повторювати»:

Заплановане завдання_Налаштування тригера_Режим поля часу колекції_Тригер

Потім налаштуйте інші вузли відповідно до логіки процесу: оновіть статус замовлення з ID, що відповідає ID даних тригера, та статусом «неоплачено» на «скасовано»:

Заплановане завдання_Налаштування тригера_Режим поля часу колекції_Вузол оновлення

На відміну від режиму користувацького часу, тут не потрібно обчислювати час 30 хвилин тому, оскільки контекст даних, що запускають робочий процес, вже містить відповідний рядок даних, який відповідає часовій умові. Тому ви можете безпосередньо оновити статус відповідного замовлення.