Запустить рабочий процесс по таймеру

Примечание

На данный момент Workflows поддерживается в двух интерфейсах — Yandex Cloud и Yandex AI Studio. При этом:

  • рабочие процессы, созданные в интерфейсе Yandex Cloud, автоматически доступны в интерфейсе AI Studio;
  • рабочие процессы, созданные в интерфейсе AI Studio, недоступны в интерфейсе Yandex Cloud.

С 4 сентября 2026 года Workflows перестанет поддерживаться в интерфейсе Yandex Cloud. Для создания рабочих процессов и управления ими используйте интерфейс AI Studio.

Вы можете задать расписание при создании или изменении рабочего процесса.

Задать расписание

  1. В интерфейсе AI Studio выберите каталог, в котором находится рабочий процесс.
  2. На панели слева разверните раздел Agent Atelier и выберите Workflows.
  3. В строке с нужным рабочим процессом нажмите и выберите Редактировать.
  4. На графической схеме рабочего процесса нажмите на блок Старт и выберите Таймер.
  5. Задайте расписание в одном из форматов:
    • Интервал — укажите интервал запуска рабочего процесса, например «запускать рабочий процесс каждые 15 минут»;
    • Дни недели — укажите время запуска рабочего процесса, например «запускать рабочий процесс каждые понедельник и четверг в 10:00»;
    • Другое — укажите расписание запуска рабочего процесса в формате cron-выражения.
  6. Нажмите Сохранить.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

  1. Посмотрите описание команды CLI для изменения рабочего процесса:

    yc serverless workflow update --help
    
  2. Получите список рабочих процессов:

    yc serverless workflow list
    

    Результат:

    workflows:
      - id: dfqdi6ic7c5j********
        folder_id: b1g681qpemb4********
        created_at: "2025-03-10T13:31:55.387059Z"
        name: workflow895
        status: ACTIVE
        log_options:
          folder_id: b1g681qpemb4********
      ...
      - id: dfqud9cbc4k5********
        folder_id: b1g681qpemb4********
        created_at: "2025-03-10T12:57:48.679682Z"
        name: workflow203
        status: ACTIVE
        log_options:
          folder_id: b1g681qpemb4********
    
  3. Задайте расписание:

    yc serverless workflow update <имя_или_идентификатор_рабочего_процесса> \
      --schedule-cron-expression "<cron-выражение>" \
      --schedule-timezone "<часовой_пояс>"
    

    Где:

    • --schedule-cron-expression — cron-выражение, например: "0 * * * * *". Подробнее о формате cron-выражений в Cron-выражения в Workflows.
    • --schedule-timezone — часовой пояс, например Europe/Moscow.

    Результат:

    id: dfqai557kgv0********
    folder_id: b1g681qpemb4********
    specification:
      spec_yaml: ...
    created_at: "2025-09-19T09:11:38.826207Z"
    name: cron-flow
    status: ACTIVE
    log_options:
      folder_id: b1g681qpemb4********
    service_account_id: ajelprpohp7r********
    schedule:
      cron_expression: 0 * * * * *
      timezone: Europe/Moscow
    

Воспользуйтесь методом REST API Update для ресурса Workflows или вызовом gRPC API workflow/Update. В поле schedule задайте расписание и укажите часовой пояс.

Удалить расписание

  1. В интерфейсе AI Studio выберите каталог, в котором находится рабочий процесс.
  2. На панели слева разверните раздел Agent Atelier и выберите Workflows.
  3. В строке с нужным рабочим процессом нажмите и выберите Редактировать.
  4. На графической схеме рабочего процесса удалите блок с таймером.
  5. Нажмите Сохранить.
  1. Посмотрите описание команды CLI для изменения рабочего процесса:

    yc serverless workflow update --help
    
  2. Получите список рабочих процессов:

    yc serverless workflow list
    

    Результат:

    workflows:
      - id: dfqdi6ic7c5j********
        folder_id: b1g681qpemb4********
        created_at: "2025-03-10T13:31:55.387059Z"
        name: workflow895
        status: ACTIVE
        log_options:
          folder_id: b1g681qpemb4********
      ...
      - id: dfqud9cbc4k5********
        folder_id: b1g681qpemb4********
        created_at: "2025-03-10T12:57:48.679682Z"
        name: workflow203
        status: ACTIVE
        log_options:
          folder_id: b1g681qpemb4********
    
  3. Удалите расписание:

    yc serverless workflow update <имя_или_идентификатор_рабочего_процесса> \
      --remove-schedule
    

    Результат:

    id: dfqai557kgv0********
    folder_id: b1g681qpemb4********
    specification:
      spec_yaml: ...
    created_at: "2025-09-19T09:11:38.826207Z"
    name: cron-flow
    status: ACTIVE
    log_options:
      folder_id: b1g681qpemb4********
    service_account_id: ajelprpohp7r********
    

Воспользуйтесь методом REST API Update для ресурса Workflows или вызовом gRPC API workflow/Update. В поле schedule укажите null.

Полезные ссылки