diff --git a/src/pobsync_backend/forms.py b/src/pobsync_backend/forms.py index 887c082..e90957b 100644 --- a/src/pobsync_backend/forms.py +++ b/src/pobsync_backend/forms.py @@ -265,8 +265,11 @@ class RetentionApplyForm(forms.Form): class ScheduleConfigForm(forms.ModelForm): cron_expr = forms.CharField( - label="Cron expression", - help_text='Five-field cron expression, for example "15 2 * * *".', + label="Schedule expression", + help_text=( + 'Five-field cron-style expression, for example "15 2 * * *". ' + "This is evaluated by the pobsync scheduler service, not host cron." + ), ) prune_max_delete = forms.IntegerField(min_value=0) diff --git a/src/pobsync_backend/templates/pobsync_backend/host_detail.html b/src/pobsync_backend/templates/pobsync_backend/host_detail.html index 09db4de..d87ca88 100644 --- a/src/pobsync_backend/templates/pobsync_backend/host_detail.html +++ b/src/pobsync_backend/templates/pobsync_backend/host_detail.html @@ -49,7 +49,8 @@

Schedule

{% if schedule %}
-
Cron: {{ schedule.cron_expr }}
+
Schedule expression: {{ schedule.cron_expr }}
+
Evaluated by the pobsync scheduler service.
Enabled: {{ schedule.enabled|yesno:"yes,no" }}
Prune: {{ schedule.prune|yesno:"yes,no" }}
Last status: {{ schedule.last_status|default:"" }}
diff --git a/src/pobsync_backend/templates/pobsync_backend/schedule_form.html b/src/pobsync_backend/templates/pobsync_backend/schedule_form.html index b418785..cbe7f98 100644 --- a/src/pobsync_backend/templates/pobsync_backend/schedule_form.html +++ b/src/pobsync_backend/templates/pobsync_backend/schedule_form.html @@ -11,6 +11,7 @@

{% if schedule %}Edit Schedule{% else %}Create Schedule{% endif %}

+

Schedules use cron-style timing syntax, but they are evaluated by the pobsync scheduler service.

{% csrf_token %} {{ form.non_field_errors }} diff --git a/src/pobsync_backend/tests/test_views.py b/src/pobsync_backend/tests/test_views.py index 25246aa..4ecae04 100644 --- a/src/pobsync_backend/tests/test_views.py +++ b/src/pobsync_backend/tests/test_views.py @@ -546,6 +546,8 @@ class ViewTests(TestCase): self.assertContains(response, "web-01") self.assertContains(response, "web-01.example.test") self.assertContains(response, "15 2 * * *") + self.assertContains(response, "Schedule expression") + self.assertContains(response, "Evaluated by the pobsync scheduler service.") self.assertContains(response, "20260519-021500Z__ABCDEFGH") self.assertContains(response, "Discover snapshots") self.assertContains(response, "Edit schedule") @@ -1135,6 +1137,8 @@ class ViewTests(TestCase): self.assertEqual(response.status_code, 200) self.assertContains(response, "Create Schedule") + self.assertContains(response, "Schedule expression") + self.assertContains(response, "evaluated by the pobsync scheduler service") self.assertContains(response, "15 2 * * *") self.assertContains(response, "Save schedule")