Expand description
Archive management API endpoints.
This module provides REST API endpoints for managing job archiving operations, including archiving jobs, restoring archived jobs, listing archived jobs, and configuring archival policies.
§Endpoints
POST /api/archive/jobs- Archive jobs based on policyGET /api/archive/jobs- List archived jobs with pagination and filteringPOST /api/archive/jobs/{id}/restore- Restore an archived jobDELETE /api/archive/jobs- Purge old archived jobsGET /api/archive/stats- Get archival statisticsGET /api/archive/policies- List archival policiesPOST /api/archive/policies- Create or update archival policyDELETE /api/archive/policies/{id}- Delete archival policy
§Examples
§Archive Jobs
use hammerwork_web::api::archive::{ArchiveRequest, ArchiveResponse};
use hammerwork::archive::{ArchivalReason, ArchivalPolicy};
use chrono::Duration;
let request = ArchiveRequest {
queue_name: Some("completed_jobs".to_string()),
reason: ArchivalReason::Automatic,
archived_by: Some("scheduler".to_string()),
dry_run: false,
policy: Some(ArchivalPolicy::new()
.archive_completed_after(Duration::days(7))),
};
// This would be sent to POST /api/archive/jobs
assert_eq!(request.queue_name, Some("completed_jobs".to_string()));
assert!(!request.dry_run);§List Archived Jobs
use hammerwork_web::api::archive::ArchivedJobInfo;
use hammerwork::archive::{ArchivalReason, ArchivedJob};
use hammerwork::{JobId, JobStatus};
use chrono::Utc;
use uuid::Uuid;
let archived_job = ArchivedJobInfo {
id: Uuid::new_v4(),
queue_name: "email_queue".to_string(),
status: JobStatus::Completed,
created_at: Utc::now(),
archived_at: Utc::now(),
archival_reason: ArchivalReason::Automatic,
original_payload_size: Some(1024),
payload_compressed: true,
archived_by: Some("system".to_string()),
};
assert_eq!(archived_job.queue_name, "email_queue");
assert!(archived_job.payload_compressed);Structs§
- Archive
Filter Params - Archive filter parameters
- Archive
Request - Request to archive jobs
- Archive
Response - Response from archiving jobs
- Archived
JobInfo - Archived job information for API responses
- Policy
Request - Archival policy configuration request
- Policy
Response - Archival policy response
- Purge
Request - Request to purge archived jobs
- Purge
Response - Response from purging archived jobs
- Recent
Operation - Information about recent archival operations
- Restore
Request - Request to restore an archived job
- Restore
Response - Response from restoring a job
- Stats
Response - Archive statistics response
Functions§
- archive_
routes - Create archive API routes