diff --git a/django_q/scheduler.py b/django_q/scheduler.py index 88bd6b6..cc78454 100644 --- a/django_q/scheduler.py +++ b/django_q/scheduler.py @@ -82,7 +82,15 @@ def scheduler(broker: Broker = None): break s.next_run = next_run - s.repeats += -1 + + # Little Fix for already broken numbers + if s.repeats < -1: + s.repeats = -1 + + # Check if the value is not zero + if s.repeats > 0: + s.repeats -= 1 + # send it to the cluster; any cluster name is allowed in multi-queue scenarios # because `broker_name` is confusing, using `cluster` name is recommended and takes precedence q_options["cluster"] = s.cluster or q_options.get(