I want to use some function to be timing task
My views.py:
class SomeHandler:
def __init__(self, user, instance):
self.user = user
self.instance = instance
@task(filter=task_method)
def send_some_msg(self, send_type):
XXXXXXXXXXXXXXX
My admin.py:
def somefunction(self, obj):
user = self._user_filter(obj)
name = obj.id
task = "myapp.views.send_some_msg"
crontab_time = {
'month_of_year': obj.timing.month,
'day_of_month': obj.timing.day,
'hour': obj.timing.hour,
'minute': obj.timing.minute
}
crontab = celery_models.CrontabSchedule.objects.create(**crontab_time)
task = celery_models.PeriodicTask.objects.create(
name=name, task=task, kwargs=json.dumps({'send_type': True}), enabled=True, crontab=crontab, expires=obj.timing + timedelta(days=1)
)
but I got error with celery worker
TypeError: save_multiple_notification() missing 1 required positional argument: 'self'
how can i use that task?? i can't bring value on "task" string