3edf2d9ece
- Create README.md for paracas-daemon and paracas-estimate
- Add #![doc = include_str!("../README.md")] to daemon/estimate lib.rs
- Add missing Cargo.toml metadata (docs.rs, authors, keywords, categories)
- Reorder workspace dependencies by line length per style guide
- Document background jobs, download-all, status, and job commands
paracas-daemon
Background job management for the paracas tick data downloader.
Features
- Job tracking with unique identifiers
- Persistent state storage
- Detached daemon process spawning
- Thread-safe progress tracking
Types
JobId- Unique identifier for download jobsJobStatus- Current status of a job (pending, running, completed, failed)InstrumentTask- Download task for a single instrumentDownloadJob- Complete download job with multiple tasksStateManager- Persistent state storage and retrievalDaemonSpawner- Spawns detached daemon processesDaemonProgress- Thread-safe progress tracking
Usage
use paracas_daemon::{StateManager, DownloadJob, JobId, JobStatus};
// Create a state manager
let manager = StateManager::new()?;
// Create a new job
let job = DownloadJob::new(tasks);
manager.save_job(&job)?;
// Retrieve job status
if let Some(job) = manager.get_job(&job.id)? {
println!("Job status: {:?}", job.status());
}
License
MIT License - see LICENSE for details.