如何通过http在celery任务调用上设置http_headers

时间:2016-01-21 12:24:25

标签: http celery django-celery celery-task djcelery

我想使用来自celery的类HttpDispatch通过HTTP进行任务调用,但我需要设置Authorization标头。我怎么能这样做?

from celery.task.http import HttpDispatch
request = HttpDispatch(
     url='http://example.com/multiply',
     method='GET', {10})
request.dispatch()

1 个答案:

答案 0 :(得分:3)

您需要继承HttpDispatch并重新实现http_headers属性方法。此属性在HttpDispatch内使用。

class CustomHttpDispatch(HttpDispatch):

@property
def http_headers(self):
    headers = {
        'User-Agent': self.user_agent,
        'Authorization': 'XXX'}

    return headers