feat(storage): both import jobs tick daily instead of manual-only
Registered with interval None, so they ran only when someone remembered to trigger them — which was your objection to gating anything on operator timing. Now daily. Not boot-time: that would delay readiness for a filesystem walk, and both jobs are idempotent and resumable, so periodic is strictly better. The tick deliberately does NOT delete. `repair` defaults false, so scheduled runs import and stop; unlinking stays a deliberate operator action, per no-silent-auto-repair. That splits the two halves the way their risk differs — the backfill is safe to automate, removing files is not. Cost once drained is a read_dir over three directories returning nothing, and after the directory itself is removed, not even that.
This commit is contained in:
@@ -89,8 +89,15 @@ impl ThumbAttachedImport {
|
||||
registry: &JobRegistry,
|
||||
provider: &Arc<dyn JobStoreProvider>,
|
||||
) -> Arc<Self> {
|
||||
// Daily, matching `thumb_derived_import` — and it does not delete on
|
||||
// the tick either, since `repair` defaults false. See that job for
|
||||
// the reasoning.
|
||||
registry
|
||||
.register_recoverable_job(self.clone(), provider.clone(), None)
|
||||
.register_recoverable_job(
|
||||
self.clone(),
|
||||
provider.clone(),
|
||||
Some(std::time::Duration::from_secs(24 * 3600)),
|
||||
)
|
||||
.await;
|
||||
self
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user