AS AgentScopeAPI 手册 / API Reference

XxlJobAgentScheduler

public class XxlJobAgentScheduler implements AgentScheduler
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:114–391

Xxl 作业智能体调度器,承载智能体的部署、调度与服务化运行。位于 io.agentscope.extensions.scheduler.xxljob 包,实现 AgentScheduler。核心成员包括 schedule、cancel、getScheduledAgent、getAllScheduleAgentTasks、shutdown、getSchedulerType。

AgentScheduler implementation based on XXL-Job distributed task scheduling platform.

This scheduler integrates with XXL-Job to provide distributed scheduling capabilities for agents. Jobs are registered as JobHandlers in XXL-Job and can be managed through the XXL-Job admin console.

Key Features:

  • Distributed scheduling across multiple executor instances

  • Centralized management through XXL-Job admin console

  • Support for cron expressions, fixed rate, and manual triggers

  • Built-in monitoring and logging

  • Fault tolerance and automatic failover

Prerequisites:

  • XXL-Job admin server must be running and accessible

  • XxlJobExecutor must be properly initialized and started

  • Jobs must be configured in XXL-Job admin console with matching JobHandler names

Usage Example:

`// 1. Initialize XXL-Job executor (typically in Spring Boot configuration)
XxlJobExecutor executor = new XxlJobExecutor();
executor.setAdminAddresses("http://localhost:8080/xxl-job-admin");
executor.setAppname("agentscope-executor");
executor.setPort(9999);
executor.start();

// 2. Create scheduler
AgentScheduler scheduler = new XxlJobAgentScheduler(executor);

// 3. Create agent configuration
AgentConfig agentConfig = AgentConfig.builder()
.name("MyAgent")
.description("My scheduled agent")
.agentFactory(() -> ReActAgent.builder()
.name("MyAgent")
.model(model)
.toolkit(toolkit)
.build())
.build();

// 4. Schedule the agent
ScheduleConfig scheduleConfig = ScheduleConfig.builder().build();
ScheduleAgentTask task = scheduler.schedule(agentConfig, scheduleConfig);

// 5. Configure the job in XXL-Job admin console:
// - JobHandler: MyAgent (same as agent name)
// - Schedule type: CRON
// - Cron expression: 0 0 8 * * ?

// 6. The agent will be executed according to the schedule in XXL-Job
// Each execution will create a fresh Agent instance
`

Important Notes:

  • The agent name from AgentConfig is used as the JobHandler name in XXL-Job

  • Each execution creates a fresh Agent instance using the configured factory

  • Schedule configuration (cron, fixedRate, fixedDelay) is managed in XXL-Job admin console

  • This scheduler only registers the JobHandler; actual scheduling is controlled by XXL-Job

  • Pause/resume operations are not directly supported; use XXL-Job admin console instead

构造器摘要Constructor Summary

构造器Constructor说明Description
public XxlJobAgentScheduler(XxlJobExecutor executor)
初始化 `XxlJobAgentScheduler` 实例。
Constructor for XxlJobAgentScheduler.

方法摘要Method Summary

方法Method说明Description
public ScheduleAgentTask schedule(AgentConfig agentConfig)
设置调度。
Schedule an agent with default schedule configuration (NONE mode).
public ScheduleAgentTask schedule(AgentConfig agentConfig, ScheduleConfig scheduleConfig)
执行调度相关操作。
Performs the schedule operation.
public boolean cancel(String name)
执行取消相关操作。
Cancel a scheduled task.
public ScheduleAgentTask getScheduledAgent(String name)
获取已调度智能体。
Retrieve a scheduled task by its name.
public List<ScheduleAgentTask> getAllScheduleAgentTasks()
获取所有调度智能体任务。
Retrieve all scheduled tasks managed by this scheduler.
public void shutdown()
关闭资源并释放连接。
Gracefully shutdown the scheduler.
public String getSchedulerType()
获取调度器类型。
Get the type identifier of this scheduler implementation.

构造器详情Constructor Detail

XxlJobAgentScheduler

public XxlJobAgentScheduler(XxlJobExecutor executor)

初始化 XxlJobAgentScheduler 实例。

Constructor for XxlJobAgentScheduler.

参数Parameters
名称Name类型Type说明Description
executorXxlJobExecutorXXL-Job 执行器实例(必须为已初始化和已启动)。The XXL-Job executor instance (must be initialized and started)
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:126–132

方法详情Method Detail

schedule

public ScheduleAgentTask schedule(AgentConfig agentConfig)

设置调度。

Schedule an agent with default schedule configuration (NONE mode).

参数Parameters
名称Name类型Type说明Description
agentConfigAgentConfig智能体配置(可以为 AgentConfig 或 RuntimeAgentConfig)。The agent configuration (can be AgentConfig or RuntimeAgentConfig)
返回Returns ScheduleAgentTask
已调度任务。The scheduled task
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:144–146

schedule

public ScheduleAgentTask schedule(AgentConfig agentConfig, ScheduleConfig scheduleConfig)

执行调度相关操作。

Performs the schedule operation.

参数Parameters
名称Name类型Type说明Description
agentConfigAgentConfig智能体配置(类型 `AgentConfig`)。The agent config.
scheduleConfigScheduleConfig调度配置(类型 `ScheduleConfig`)。The schedule config.
返回Returns ScheduleAgentTask
返回ScheduleAgentTask。Returns schedule agent task.
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:148–233

cancel

public boolean cancel(String name)

执行取消相关操作。

Cancel a scheduled task.

参数Parameters
名称Name类型Type说明Description
nameString已调度任务到取消的名称。The name of the scheduled task to cancel
返回Returns boolean
返回布尔值,表示判断结果。Never returns, always throws UnsupportedOperationException
抛出Throws
  • UnsupportedOperationException 可能抛出 `UnsupportedOperationException`。always, as cancellation is not supported
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:299–304

getScheduledAgent

public ScheduleAgentTask getScheduledAgent(String name)

获取已调度智能体。

Retrieve a scheduled task by its name.

参数Parameters
名称Name类型Type说明Description
nameString名称(类型 `String`)。The name of the scheduled task (same as agent name)
返回Returns ScheduleAgentTask
返回ScheduleAgentTask。The ScheduleAgentTask if found, or null if not found or name is empty
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:312–318

getAllScheduleAgentTasks

public List<ScheduleAgentTask> getAllScheduleAgentTasks()

获取所有调度智能体任务。

Retrieve all scheduled tasks managed by this scheduler.

返回Returns List<ScheduleAgentTask>
返回列出。A list of all ScheduleAgentTask instances registered in this scheduler
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:325–328

shutdown

public void shutdown()

关闭资源并释放连接。

Gracefully shutdown the scheduler.

源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:342–348

getSchedulerType

public String getSchedulerType()

获取调度器类型。

Get the type identifier of this scheduler implementation.

返回Returns String
返回字符串结果。"xxl-job"
源码Source io/agentscope/extensions/scheduler/xxljob/XxlJobAgentScheduler.java:355–358

继承成员Inherited Members

继承自Methods inherited from AgentScheduler
基于官方固定版本源码静态生成Generated from pinned official sources · Python 2.0.11 · Java 2.0.4
签名与文档为静态抽取;如有疑问请以源码为准。Signatures and docs are extracted statically; verify against the source when in doubt.