Django芹菜工人关键字argumen

2024-04-19 23:03:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试设置一个简单的webhook,其中传入的请求由芹菜工人处理。在

这是我在view.py中的钩子:

@method_decorator(csrf_exempt, name='dispatch')
class SendGridCallbackView(View):
    def post(self, request, *args, **kwargs):
        print('TEST')
        req_dict = {'request': request.body}
        sendgrid_email_tracking.apply_async(kwargs=req_dict)
        return HttpResponse(status=200)

tasks.py中定义的任务:

^{pr2}$

当从sendgrid发送测试电子邮件时,它会打印TEST输出,但是celery工作人员返回一个错误

TypeError: sendgrid_email_tracking() got an unexpected keyword argument 'request'

当我添加一个额外的参数*args时,错误就消失了,但是在被调用的方法上,*args和{}都是空的

@shared_task(base=WorkerBase, name='mailer.sendgrid-tracking-mail')
def sendgrid_email_tracking(*args, **kwargs):
    print(args)     # prints -> ()
    print(kwargs)   # prints -> {}

Tags: namepytestemailrequestdef错误args