Skip to main content

Session Resume

Resume interrupted sessions to continue where you left off.

Basic Resume

from praisonaiagents import Agent, Session

# Original session
session = Session(session_id="task-123", persistence="sqlite")
agent = Agent(name="Worker", session=session)
agent.start("Start a long task...")

# ... application crashes or restarts ...

# Resume session
session = Session(session_id="task-123", persistence="sqlite")
agent = Agent(name="Worker", session=session)
agent.resume()  # Continues from last checkpoint

With Checkpoints

from praisonaiagents import Agent, Session

session = Session(
    session_id="task-123",
    persistence="sqlite",
    checkpoint_interval=5  # Checkpoint every 5 steps
)

agent = Agent(name="Worker", session=session)

# Long-running task with automatic checkpoints
agent.start("Process 1000 items...")

Manual Checkpoints

from praisonaiagents import Agent, Session

session = Session(session_id="task-123", persistence="sqlite")
agent = Agent(name="Worker", session=session)

# Create checkpoint manually
session.checkpoint(
    state={"processed": 500, "remaining": 500},
    message="Halfway done"
)

# Resume from checkpoint
session.resume_from_checkpoint()

List Sessions

from praisonaiagents import Session

# List all sessions
sessions = Session.list_all(persistence="sqlite")
for s in sessions:
    print(f"{s.session_id}: {s.status}")