Получение идентификатора задачи сельдерея - PullRequest
0 голосов
/ 15 марта 2019

Я сделал что-то подобное

@app.task
def some_task()
    logger.info(app.current_task.request.id)
    some_func()

def some_func()
    logger.info(app.current_task.request.id)

Так что я получаю нормальный идентификатор внутри some_task, но он равен None внутри some_func. Как я могу получить реальный идентификатор задачи?

1 Ответ

1 голос
/ 15 марта 2019

Вы можете связать задачу и передать запрос, а не полагаться на глобальное.

@app.task(bind=True)
def some_task(self)
    logger.info(self.request.id)
    some_func(self.request)

def some_func(celery_request=None)
    # celery_request is optional assuming you're using it elsewhere.
    if celery_request:
        logger.info(celery_request.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...