From b456628a7abb651f13432793be4273170977ecc0 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 10 May 2026 23:46:12 -0700 Subject: [PATCH] ui(s3_lifecycle): plain-English labels for cadence fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dispatch Tick / Cursor Checkpoint Tick / Engine Refresh / Bootstrap Re-walk are internal terms — operators tuning the form had to read the descriptions to guess what each field meant. Renames the visible labels and the section blurb; underlying field names are unchanged so stored configs still load. --- weed/worker/tasks/s3_lifecycle/handler.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/weed/worker/tasks/s3_lifecycle/handler.go b/weed/worker/tasks/s3_lifecycle/handler.go index d86f32f62..15d73ab2f 100644 --- a/weed/worker/tasks/s3_lifecycle/handler.go +++ b/weed/worker/tasks/s3_lifecycle/handler.go @@ -96,11 +96,11 @@ func (h *Handler) Descriptor() *plugin_pb.JobTypeDescriptor { { SectionId: "cadence", Title: "Cadence", - Description: "Tick intervals for the dispatch loop, durable checkpoint, and engine refresh; plus the wall-clock cap on each daily run.", + Description: "How often the worker checks its schedule, saves progress, reloads bucket lifecycle configs, and how long each run may take.", Fields: []*plugin_pb.ConfigField{ { Name: "dispatch_tick_minutes", - Label: "Dispatch Tick (minutes)", + Label: "Schedule Check Interval (minutes)", Description: "How often each pipeline drains its schedule.", FieldType: plugin_pb.ConfigFieldType_CONFIG_FIELD_TYPE_INT64, Widget: plugin_pb.ConfigWidget_CONFIG_WIDGET_NUMBER, @@ -108,7 +108,7 @@ func (h *Handler) Descriptor() *plugin_pb.JobTypeDescriptor { }, { Name: "checkpoint_tick_seconds", - Label: "Cursor Checkpoint Tick (seconds)", + Label: "Progress Save Interval (seconds)", Description: "How often each pipeline persists its cursor map to the filer.", FieldType: plugin_pb.ConfigFieldType_CONFIG_FIELD_TYPE_INT64, Widget: plugin_pb.ConfigWidget_CONFIG_WIDGET_NUMBER, @@ -116,7 +116,7 @@ func (h *Handler) Descriptor() *plugin_pb.JobTypeDescriptor { }, { Name: "refresh_interval_minutes", - Label: "Engine Refresh Interval (minutes)", + Label: "Lifecycle Config Reload (minutes)", Description: "How often the scheduler rebuilds the engine snapshot from bucket lifecycle configs.", FieldType: plugin_pb.ConfigFieldType_CONFIG_FIELD_TYPE_INT64, Widget: plugin_pb.ConfigWidget_CONFIG_WIDGET_NUMBER, @@ -124,7 +124,7 @@ func (h *Handler) Descriptor() *plugin_pb.JobTypeDescriptor { }, { Name: "bootstrap_interval_minutes", - Label: "Bootstrap Re-walk Interval (minutes)", + Label: "Full Bucket Rescan Interval (minutes)", Description: "How often each bucket is re-walked. scan_only rules — those whose retention horizon exceeds meta-log retention — only fire from the bootstrap walk, so a non-zero value is required to enforce them on a long-running worker. 0 keeps the legacy walk-once-per-process behavior.", FieldType: plugin_pb.ConfigFieldType_CONFIG_FIELD_TYPE_INT64, Widget: plugin_pb.ConfigWidget_CONFIG_WIDGET_NUMBER, @@ -132,7 +132,7 @@ func (h *Handler) Descriptor() *plugin_pb.JobTypeDescriptor { }, { Name: "max_runtime_minutes", - Label: "Max Runtime (minutes)", + Label: "Per-Run Time Limit (minutes)", Description: "Wall-clock cap on each run. Each daily run processes events for one day; the cursor persists across runs.", FieldType: plugin_pb.ConfigFieldType_CONFIG_FIELD_TYPE_INT64, Widget: plugin_pb.ConfigWidget_CONFIG_WIDGET_NUMBER,