调度器
在 Astreus 文档中了解 调度器,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
只需极少配置即可实现的简单定时执行
概述
Astreus 调度器通过直观的调度字符串,为任务和 Graph 提供简单的定时执行功能。无需复杂配置——只需添加一个 schedule 字段即可!
基本任务调度
使用简单的语法调度单个任务:
import { Agent } from '@astreus-ai/astreus';
const agent = await Agent.create({
name: 'SchedulerAgent',
model: 'gpt-4o'
});
// Create a scheduled task - scheduler starts automatically when needed
const scheduledTask = await agent.createTask({
prompt: 'Generate monthly report for December',
schedule: 'once@2024-12-25@09:00'
});
// Create a recurring task
const dailyTask = await agent.createTask({
prompt: 'Daily health check and status report',
schedule: 'daily@08:00'
});
// Execute the task - scheduler will handle the scheduling automatically
await agent.executeTask(scheduledTask.id);调度配置
使用简单的调度字符串即可轻松完成配置:
// Supported schedule formats:
'daily@07:00' // Daily at 7 AM
'weekly@monday@09:00' // Weekly on Monday at 9 AM
'monthly@1@10:00' // Monthly on 1st day at 10 AM
'hourly' // Every hour (default time)
'@15:30' // Once today at 3:30 PM
'once@2024-12-25@10:00' // Once on specific date and time
// Delay-based schedules:
'after:5s' // Run after 5 seconds
'after:30m' // Run after 30 minutes
'after:2h' // Run after 2 hours
// Examples:
await agent.createTask({
prompt: 'Morning briefing',
schedule: 'daily@08:00'
});
await agent.createTask({
prompt: 'Weekly report',
schedule: 'weekly@friday@17:00'
});带依赖关系的 Graph 调度
通过智能依赖解析来调度 Graph:
import { Graph } from '@astreus-ai/astreus';
const graph = new Graph({
name: 'Morning Workflow',
defaultAgentId: agent.id
}, agent);
// Node A: Data collection at 6 AM
const nodeA = graph.addTaskNode({
name: 'Data Collection',
prompt: 'Collect overnight data from all sources',
schedule: 'once@2024-12-20@06:00'
});
// Node B: Processing (depends on A completing first)
const nodeB = graph.addTaskNode({
name: 'Data Processing',
prompt: 'Process collected data and generate insights',
schedule: 'once@2024-12-20@07:00',
dependsOn: ['Data Collection'] // Must wait for A
});
// Node C: Report generation at 8 AM
const nodeC = graph.addTaskNode({
name: 'Report Generation',
prompt: 'Generate morning executive report',
schedule: 'once@2024-12-20@08:00',
dependsOn: ['Data Processing']
});
// Execute - scheduler starts automatically for scheduled nodes
await graph.run();
// Result: A runs at 06:00, B waits and runs after A (~06:05), C runs at 08:00循环调度模式
创建复杂的循环调度:
1
每日调度
// Every day at 8 AM
{
type: 'recurring',
executeAt: new Date('2024-12-20T08:00:00Z'),
recurrence: {
pattern: 'daily',
interval: 1,
maxExecutions: 365 // Stop after 1 year
}
}
// Every 3 days
{
type: 'recurring',
executeAt: new Date('2024-12-20T08:00:00Z'),
recurrence: {
pattern: 'daily',
interval: 3
}
}2
每周调度
// Every Monday at 9 AM
{
type: 'recurring',
executeAt: new Date('2024-12-23T09:00:00Z'), // Monday
recurrence: {
pattern: 'weekly',
interval: 1,
daysOfWeek: [1] // Monday
}
}
// Every Monday and Friday
{
type: 'recurring',
executeAt: new Date('2024-12-23T09:00:00Z'),
recurrence: {
pattern: 'weekly',
interval: 1,
daysOfWeek: [1, 5] // Monday and Friday
}
}3
每月与每年调度
// 15th of every month
{
type: 'recurring',
executeAt: new Date('2024-12-15T10:00:00Z'),
recurrence: {
pattern: 'monthly',
interval: 1,
dayOfMonth: 15
}
}
// Every January 1st
{
type: 'recurring',
executeAt: new Date('2025-01-01T00:00:00Z'),
recurrence: {
pattern: 'yearly',
interval: 1,
monthOfYear: 1
}
}依赖解析逻辑
调度器会智能地解决调度时间与依赖关系之间的冲突:
| 场景 | 行为 |
|---|---|
| 节点调度时间早于依赖项 | 等待依赖项完成 |
| 节点调度时间晚于依赖项 | 按调度时间运行 |
| 多个依赖项 | 等待所有依赖项完成 |
| 循环依赖 | 在校验阶段抛出错误 |
| 混合调度节点与即时节点 | 可无缝协同工作 |
调度器为构建自动化的、遵循依赖关系并能随需求扩展的定时 AI 工作流提供了坚实的基础。
最后更新时间:2026年7月6日
本节内容
简介
在 Astreus 文档中了解 简介,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
安装
使用 npm、yarn 或 pnpm 安装 Astreus,确认所需的 Node.js 版本,并准备好本地项目以使用该框架构建 AI 代理。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
快速开始
在 Astreus 文档中了解 快速开始,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。
智能体
在 Astreus 文档中了解 智能体,获取用于构建智能体系统的设置指导、API 模式和实用示例。 了解构建可靠的 Astreus 智能体系统所需的设置模式、API 和实用示例。