SQLite durability is optional and disabled by default. The default runtime path does not require SQLite configuration or external storage services.
task_orchestrator:
ros__parameters:
storage:
enabled: true
sqlite_path: "/tmp/task_orchestrator.sqlite3"
retention_days: 30sqlite3 is part of the Python standard library, so enabling SQLite does not
add a runtime package dependency.
- Task records.
- Task events.
- Queued task scheduling fields required for restart recovery.
- Runtime duration and total duration fields.
- Idempotency keys, tracing IDs and fleet-safe context fields.
When SQLite storage is enabled:
/task_orchestrator/get_taskreads from SQLite when the task is not in the in-memory cache./task_orchestrator/list_task_recordsreads from SQLite./task_orchestrator/list_eventsreads from SQLite.- Both list services support task, source, status, fleet-safe context, tracing and idempotency filters.
QUEUEDtask records are recovered on node startup and submitted back through the normal execute-task path.
When storage is disabled, these services use bounded in-memory caches.
storage.retention_days removes records and events older than the configured
age. Set it to 0 to disable retention deletion.