Задача Celery создает новый модельный объект, но сигналы django не поднимают его - PullRequest
0 голосов
/ 01 марта 2019

Я прочитал и увидел, что это связано с параллелизмом: сельдерей не может редактировать переменные приложения, потому что он находится в потоке, отличном от приложения Python.Поэтому вместо этого я изменяю базу данных, создавая объект в надежде, что сигнал django подхватит его, но это не так.Я делаю это, так как мне нужно знать, произошло ли обновление во внутренней части, чтобы интерфейс SPA мог получить его автоматически.Какие-нибудь советы?

1 Ответ

0 голосов
/ 04 марта 2019

Сигналы Django работают только в процессе.Таким образом, изменение модели сельдерея приведет к появлению сигнала о сельдерее.Если вам необходимо уведомить одностраничное приложение, либо (1) используйте веб-сокет, либо (2) передайте SPA значение task_id, чтобы оно могло опрашивать о завершении задачи, а затем предпринимать необходимые действия.

...