def decorator(f): if kwargs.pop('locked', True): f = locked_task(f) entry = { 'schedule': kwargs.pop('run_every'), 'args': kwargs.pop('args', ()), 'kwargs': kwargs.pop('kwargs', {}), 'options': kwargs.pop('options', {}), 'relative': kwargs.pop('relative', False) } kwargs.setdefault('ignore_result', True) task = self.task(f, *args, **kwargs) entry['task'] = task.name self.conf['CELERYBEAT_SCHEDULE'][task.name] = entry return task