Использование Django SessionStore в сельдерее - PullRequest
0 голосов
/ 28 апреля 2020

Я действительно борюсь с чем-то и несколько дней пытался выяснить, что я делаю неправильно ... Я думал, что в том, что я пытаюсь сделать, может быть что-то принципиально неправильное, но я не могу найти ничего, что могло бы предположить, что ,

Я пытаюсь использовать Celery для изменения базы данных Django Session в фоновом режиме.

В качестве теста у меня есть тестовое представление, которое передает идентификатор сеанса этой задаче сельдерея:

@shared_task(name="test_celery_task")
def test_celery_task(sessionid):
    s = SessionStore(session_key='sessionid')
    s['test_var'] = ["Success"]
    s.save()
    return "Task Complete"

Я вижу, как запускается задача, и я добавил несколько регистраторов для проверки идентификатор сеанса передается, и не выдается никакой ошибки et c.

Когда я делаю это в оболочке manage.py, она работает нормально. Но я думаю, что это не работает, потому что им управляет работник сельдерея.

Если это невозможно, пусть будет так, и я сэкономлю свое время, пытаясь разобраться, что не так, но все, что я прочитал, говорит о том, что я должен быть в состоянии манипулировать моделями и т. Д. c внутри Celery. без проблем, и что сессия - просто другая модель.

Я все об этом говорю неправильно? У кого-нибудь есть опыт работы с Django SessionStore и Celery. Спасибо!

...