Cron-задачи Clawdbot

Планируйте автоматизированные задачи с помощью cron-задач ИИ-ассистента Clawdbot. Узнайте, как настроить периодические сообщения, отчёты и автоматизированные рабочие процессы.

Обзор cron-задач Clawdbot

Clawdbot поддерживает запланированные задачи с использованием синтаксиса cron. Cron-задачи позволяют автоматизировать отправку сообщений, периодические отчёты, проверки работоспособности и повторяющиеся рабочие процессы.

Конфигурация

Базовая cron-задача

{
  "cron": {
    "jobs": [
      {
        "id": "daily-summary",
        "schedule": "0 9 * * *",
        "action": "send_message",
        "target": {
          "channel": "whatsapp",
          "peer": "+15551234567"
        },
        "message": "Good morning! Here's your daily summary."
      }
    ]
  }
}

Синтаксис Cron

ПолеЗначенияОписание
Минута0-59Минута часа
Час0-23Час дня
День1-31День месяца
Месяц1-12Месяц года
День недели0-6День недели (0=Воскресенье)

Распространённые расписания

РасписаниеВыражение Cron
Каждый час0 * * * *
Ежедневно в 9 утра0 9 * * *
Еженедельно в понедельник0 9 * * 1
Ежемесячно 1-го числа0 9 1 * *

Типы задач

Задачи отправки сообщений

Отправка запланированных сообщений:

{
  "id": "reminder",
  "schedule": "0 8 * * 1-5",
  "action": "send_message",
  "target": {
    "channel": "telegram",
    "peer": "123456789"
  },
  "message": "Start of workday reminder!"
}

Задачи агента

Запуск задач агента:

{
  "id": "daily-report",
  "schedule": "0 18 * * *",
  "action": "run_agent",
  "agentId": "reporter",
  "prompt": "Generate today's activity report"
}

Webhook-задачи

Запуск вебхуков:

{
  "id": "health-check",
  "schedule": "*/5 * * * *",
  "action": "webhook",
  "url": "https://api.example.com/health",
  "method": "POST"
}

Управление сессиями

Ключи сессий Cron

Cron-задачи используют выделенные сессии:

cron:<job.id>

Изоляция сессий

  • Каждая задача имеет свою сессию
  • История сохраняется между запусками
  • Контекст переносится

Управление задачами

Команды CLI

# Список cron-задач
clawdbot cron list

# Добавление задачи
clawdbot cron add --id daily --schedule "0 9 * * *" --action send_message

# Удаление задачи
clawdbot cron remove daily

# Немедленный запуск задачи
clawdbot cron run daily

Статус задачи

СтатусОписание
activeЗадача запланирована
pausedЗадача приостановлена
runningВыполняется в данный момент
failedПоследний запуск завершился неудачей

Обработка ошибок

Политика повторных попыток

{
  "cron": {
    "retry": {
      "maxAttempts": 3,
      "backoff": "exponential",
      "initialDelay": 1000
    }
  }
}

Уведомления о сбоях

{
  "cron": {
    "notifications": {
      "onFailure": {
        "channel": "telegram",
        "peer": "admin_id"
      }
    }
  }
}

Часовой пояс

Конфигурация

{
  "cron": {
    "timezone": "Asia/Shanghai"
  }
}

Поведение по умолчанию

  • Использует системный часовой пояс, если не указан
  • Все расписания интерпретируются в настроенном часовом поясе

Примеры

Ежедневное напоминание о стендапе

{
  "id": "standup",
  "schedule": "0 9 * * 1-5",
  "action": "send_message",
  "target": {
    "channel": "discord",
    "peer": { "kind": "group", "id": "standup-channel" }
  },
  "message": "Time for daily standup! What did you work on yesterday?"
}

Еженедельный отчёт

{
  "id": "weekly-report",
  "schedule": "0 17 * * 5",
  "action": "run_agent",
  "agentId": "main",
  "prompt": "Generate weekly summary report and send to team channel"
}

Следующие шаги