Schedule name is optional

For backwards compatibility the schedule name is an optional keyword in the `schedule` function.

Adjusted docs accordingly
This commit is contained in:
Ilan
2015-07-18 19:41:21 +02:00
parent 05d6ecb7a2
commit e4737d765a
5 changed files with 12 additions and 6 deletions
+4 -1
View File
@@ -54,6 +54,7 @@ def schedule(func, *args, **kwargs):
"""
:param func: function to schedule
:param args: function arguments
:param name: optional name for the schedule
:param hook: optional result hook function
:type schedule_type: Schedule.TYPE
:param repeats: how many times to repeat. 0=never, -1=always
@@ -64,12 +65,14 @@ def schedule(func, *args, **kwargs):
:rtype: Schedule
"""
name = kwargs.pop('name', None)
hook = kwargs.pop('hook', None)
schedule_type = kwargs.pop('schedule_type', Schedule.ONCE)
repeats = kwargs.pop('repeats', -1)
next_run = kwargs.pop('next_run', timezone.now())
return Schedule.objects.create(func=func,
return Schedule.objects.create(name=name,
func=func,
hook=hook,
args=args,
kwargs=kwargs,
+1
View File
@@ -20,6 +20,7 @@ def test_scheduler(r):
r.delete(list_key)
schedule = create_schedule('math.copysign',
1, -1,
name='test math',
hook='django_q.tests.tasks.result',
schedule_type=Schedule.HOURLY,
repeats=1)