Size: a a a

Django [ru] #STAY HOME

2019 March 25

DT

Dan Tyan in Django [ru] #STAY HOME
Maxim Kolesnikov
Пишу view mixin для DRF. Не могу понять, какой метод мне переопределить.
Мне нужно проверить кое-что и выбросить 404 экспешн, если что-то пошло не так.

Проблема в том, что я не могу писать это в get/post методах, потому что миксин независим от http метода. И я не могу писать это в dispatch, потому что в диспатче drf очень много всего.

Куда мне воткнуться?
а в чем проблема это делать в dispatch ?
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
Dan Tyan
а в чем проблема это делать в dispatch ?
Я делаю. Все хорошо, если я вызываю super(...).dispatch
Однако все плохо, если я в диспатче делаю raise NotFound. Потому что этот экспшн ловит как раз dispatch.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Хай, работал ли кто-либо с тяжелыми тасками в celery? periodic_task не работает, никаких логов ошибок. Таск нормально запускается с shell_plus, по памяти не убивается. Сам по себе он должен пробегаться по одной таблице (25-30к записей) и связанным таблицам записать на диск отчет xlsx, затем отправить на определенную почту
Таска вызывается? Что ты в логах видишь?
Если ты вручную таску запустишь, она выполнится? Или тоже не работает как и в периодик атскс?
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Таска вызывается? Что ты в логах видишь?
Если ты вручную таску запустишь, она выполнится? Или тоже не работает как и в периодик атскс?
С shell_plus с apply_async() работает нормально, никаких проблем. Кажется не вызывается по периоду, в логах даже регистрация таска в очереди не записана.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
С shell_plus с apply_async() работает нормально, никаких проблем. Кажется не вызывается по периоду, в логах даже регистрация таска в очереди не записана.
Ну вот, значит тяжелось тут не особо причем
Пойми почему таска не регистрируется
Плюс для периодических тасок нужен отдельный воркер, который селери бит
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Таска вызывается? Что ты в логах видишь?
Если ты вручную таску запустишь, она выполнится? Или тоже не работает как и в периодик атскс?
Вру, с apply_async() тоже без логов недавно не выполнился таск
источник

W

Worlak2 in Django [ru] #STAY HOME
Всем привет, что для фронтенда в Джанго юзает?
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Вру, с apply_async() тоже без логов недавно не выполнился таск
А по логам он запустился?
Если он запустился и не выполнился, какой у него стейт?
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
А по логам он запустился?
Если он запустился и не выполнился, какой у него стейт?
Сейчас буду подключать flower, чтобы проверить нормально
источник

A

Andrey in Django [ru] #STAY HOME
возможно не то но глянь https://github.com/django-extensions/django-extensions
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Сейчас буду подключать flower, чтобы проверить нормально
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Thx, до этого все это работало в контейнере с такой командой: celery -A core worker --beat --loglevel=INFO
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
это не то...
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Muslim Beibytuly
Thx, до этого все это работало в контейнере с такой командой: celery -A core worker --beat --loglevel=INFO
Ну можешь еще логлевел повысить и грепать по таск айди что с таской происходит
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Rust Saiargaliev
Ну можешь еще логлевел повысить и грепать по таск айди что с таской происходит
Thx, видимо только так и пойму:)
источник

A

Alex in Django [ru] #STAY HOME
Привет 👋
Уже не на первом ресурсе вижу, что создают модель профиля отдельно от юзера. Зачем так делать?
источник

A

Alex in Django [ru] #STAY HOME
Ведь юзер это тоже самое, что и профиль
источник

MK

Maxim Kolesnikov in Django [ru] #STAY HOME
Alex
Привет 👋
Уже не на первом ресурсе вижу, что создают модель профиля отдельно от юзера. Зачем так делать?
Чтобы не переопределять стандартную модель. И не нагружать лишними полями.
источник

TM

Tim Mustafin in Django [ru] #STAY HOME
Лишние поля там как раз в стандартной обычно :)
источник

A

Alex in Django [ru] #STAY HOME
Maxim Kolesnikov
Чтобы не переопределять стандартную модель. И не нагружать лишними полями.
Ну допустим я её и так переопределяю полем email
источник