Попытка передать два аргумента в celery из django
Я совсем новичок в celery и пытаюсь передать два аргумента из django в задачу celery, чтобы использовать их. Если я пытаюсь передать один аргумент, задача работает нормально, но если я добавляю второй аргумент, все рушится. Есть идеи? Мой первоначальный рабочий вид celery выглядит следующим образом:
view:
def detection(request):
if request.method == 'GET':
. . . . . . .
elif request.method == 'POST':
stress = AddImg(request.POST, request.FILES)
if stress.is_valid():
stress = stress.save(commit=False)
try:
stress.stressImg = request.FILES['stressImg']
stress.save()
Detection.delay(stress.pk) # Celery Task
except:
print("Something went wrong! Try again.")
задача:
@shared_task(bind=True)
def Detection(self, stressID):
print("\n\n\n\n\n\n===============START===============\n\n\n\n\n\n")
print(stressID)
Я попробовал изменить свой вид, но все еще нет результата:
username = request.user.username
Detection.apply_async(args=[stress.pk, username]) # Celery Task
Не работает, если я использую .delay(stres.pk, username)
и
def Detection(self, stressID, username):
так как он говорит, что находит 3 аргумента вместо двух, хотя он не говорит то же самое, когда аргумент на один меньше. Любая помощь будет оценена по достоинству.