Long-Running Tasks
Maintain context across sessions for projects that span hours, days, or weeks.
Challenge
Agent sessions restart on:
- Deployment updates
- Infrastructure failures
- Scheduled maintenance
- Scale-down events
Without persistent memory, context is lost.
Solution
flowchart LR S1[Session 1 Day 1] -->|remember| DB[(Mnemosyne)] S2[Session 2 Day 3] -->|recall| DB S3[Session 3 Day 7] -->|recall| DB style DB fill:#f0fdf4,stroke:#16a34a
Session Persistence
Use session_id and db_path to persist memory across restarts:
from mnemosyne import Mnemosyne
# Connect to a persistent database with a named session
mem = Mnemosyne(
session_id="website-redesign",
db_path="/data/memories.db",
)
# Store progress
mem.remember(
content="Completed hero section design. User approved color palette.",
source="conversation",
importance=0.7,
)
# Store task state
mem.remember(
content="Next step: implement responsive navigation component.",
source="task-tracker",
importance=0.8,
)
Resuming Across Restarts
When your agent restarts, reconnect with the same session_id and db_path:
from mnemosyne import Mnemosyne
# New process — reconnect to the same session
mem = Mnemosyne(
session_id="website-redesign",
db_path="/data/memories.db",
)
# Recover context
context = mem.recall("design progress and next steps", top_k=10)
for item in context:
print(item)
Using Scope for Long-Running Tasks
The scope parameter helps separate temporary vs. permanent memories:
from mnemosyne import Mnemosyne
mem = Mnemosyne(session_id="website-redesign", db_path="/data/memories.db")
# Temporary task context (session-scoped)
mem.remember(
content="Current CSS file is main.scss in /src/styles.",
scope="session",
importance=0.4,
)
# Permanent project knowledge (global)
mem.remember(
content="Website uses the company design system v3.",
scope="global",
importance=0.9,
)
Backup & Recovery
Use the disaster recovery module to protect long-running work:
from mnemosyne.dr.recovery import create_backup, restore_backup
# Create backup before risky operations
create_backup(db_path="/data/memories.db", backup_path="/backups/pre-deploy.bak")
# Restore if needed
restore_backup(backup_path="/backups/pre-deploy.bak", db_path="/data/memories.db")
Deployment Considerations
| Concern | Solution |
|---|---|
| Database persistence | Persistent volume for db_path |
| Backup before deploy | Pre-deploy backup via create_backup() |
| Migration on upgrade | Automatic schema migration |
| Monitoring | Check get_stats() for memory count |
Example: Weekly Report Agent
from mnemosyne import Mnemosyne
# Runs every Monday at 9 AM
def generate_weekly_report():
mem = Mnemosyne(
session_id="weekly-reports",
db_path="/data/reports.db",
)
# Recall recent activities
last_week = mem.recall("project updates decisions", top_k=10)
# Generate report
report = compile_report(last_week)
# Store report for future reference
mem.remember(
content=report.summary,
source="weekly-report",
importance=0.7,
)
return report
Session IDs
Use descriptive session IDs with timestamps: website-redesign-2026-04. This makes manual inspection and debugging much easier.
Related Pages
Use Cases
Explore real-world use cases for Mnemosyne: multi-agent orchestration, long-running tasks, knowledge...
Episodic Memory
Learn about Episodic Memory in Mnemosyne: time-stamped sequences of events and experiences that let ...
Sleep Consolidation
Learn how Mnemosyne's sleep consolidation process restructures and optimizes memories during idle pe...
Mnemosyne