Понятно, то есть с celery нужно будет писать и саму management-команду и обвязку для нее с декоратором task. django-chronograph убирает часть с @task.
в каких случаях нужно команды из админки запускать?
Например отложенный запуск. Мы можем запланировать выполнение команды не в прайм-тайм. Но и CI/CD и CLI мы тоже активно используем.
Или например мы можем завести в админке две Job, у которых будет одинаковая команда и разные параметры. Так одной и той же командой может пользоваться несколько человек, не мешая друг другу.
django-chronograph — это из разряда «один раз втянулся и теперь не знаешь как без этого жить».
Несколько скринов хронографа объяснят лучше тысячи слов :)
Похоже, что Вы правы. Я уберу эту часть поста, пока докапываемся до истины. Сходу не нашёл в каком именно месте мы подставляем set. Спасибо за замечание!
Свою ORM писать не выгодно, потому что бизнесу нужен продукт и будет сложно обосновать, почему так много времени нужно на разработку велосипеда, ведь есть столько готовых решений. Но бывает и так, что все готовые решения не подходят, слишком медленные или не поддерживают что-то, тогда это может быть хорошим обоснованием.
У нас всё это тоже есть, но больше используется для аналитики. Думаю стоит попробовать внедрить и в продукте.
И скорость для ручки в 3 секунды тоже так себе результат.
Это только первый ответ для большого партнера с сотнями бронирований. После
первого запроса кешируем результат на несколько минут и ручка отвечает в пределах 100 мс. За последние 90 дней среднее время ответа ручки — 600 мс. Для нас приемлемо, тем более, что это не ключевой функционал сервиса.
Понятно, то есть с celery нужно будет писать и саму management-команду и обвязку для нее с декоратором task. django-chronograph убирает часть с
@task.Например отложенный запуск. Мы можем запланировать выполнение команды не в прайм-тайм. Но и CI/CD и CLI мы тоже активно используем.
Или например мы можем завести в админке две Job, у которых будет одинаковая команда и разные параметры. Так одной и той же командой может пользоваться несколько человек, не мешая друг другу.
django-chronograph — это из разряда «один раз втянулся и теперь не знаешь как без этого жить».
Несколько скринов хронографа объяснят лучше тысячи слов :)
И не думали обижаться :)
Заходите снова, у нас 2.5 миллиона отелей и тысячи идей для вашего будущего путешествия!
Похоже, что Вы правы. Я уберу эту часть поста, пока докапываемся до истины. Сходу не нашёл в каком именно месте мы подставляем
set. Спасибо за замечание!У нас в некоторых местах есть костылик, когда мы
update_fieldsизменяем перед сохранением модели, что-то вроде такого:А к
set'амappend'ить нельзя:Свою ORM писать не выгодно, потому что бизнесу нужен продукт и будет сложно обосновать, почему так много времени нужно на разработку велосипеда, ведь есть столько готовых решений. Но бывает и так, что все готовые решения не подходят, слишком медленные или не поддерживают что-то, тогда это может быть хорошим обоснованием.
Соглашусь с ArsenAbakarov, чем меньше поддерживать технологий и описаний моделей, тем лучше.
У нас всё это тоже есть, но больше используется для аналитики. Думаю стоит попробовать внедрить и в продукте.
Это только первый ответ для большого партнера с сотнями бронирований. После
первого запроса кешируем результат на несколько минут и ручка отвечает в пределах 100 мс. За последние 90 дней среднее время ответа ручки — 600 мс. Для нас приемлемо, тем более, что это не ключевой функционал сервиса.
Не
KeyTextTransform, потому что очень мало про это документации, проглядели.Сейчас попробовал, и он не приводит правильно, типы, взрывается на
nullзначениях, даже если явно прописатьCastвDecimalField: