Size: a a a

Django [ru] #STAY HOME

2020 September 11

AK

Alex Kalinin in Django [ru] #STAY HOME
Maxim Stikharev
CACHES = {
   'default': {
       'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
   },
   "select2": {
       "BACKEND": "django_redis.cache.RedisCache",
       "LOCATION": f"redis://localhost:6379/3",
       "OPTIONS": {
           "CLIENT_CLASS": "django_redis.client.DefaultClient",
           "IGNORE_EXCEPTIONS": True,
       }
   },
}
Так, стоп. А этот select2 собственно и не используется? Например для кэширования кусков шаблонов?
источник

MS

Maxim Stikharev in Django [ru] #STAY HOME
Alex Kalinin
Интересно. Т.е. ты записываешь данные в приложении, а, например через manage shell изменений не произошло?
Да
источник

MS

Maxim Stikharev in Django [ru] #STAY HOME
Alex Kalinin
Так, стоп. А этот select2 собственно и не используется? Например для кэширования кусков шаблонов?
Используется, но как это трогает апи например?
источник

MS

Maxim Stikharev in Django [ru] #STAY HOME
Поставлю мониторинг бд, мб транзакции виснут
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
Maxim Stikharev
Используется, но как это трогает апи например?
Да я сонный. Туплю уже
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
а если напрямую зайти в dbshell и попробовать select нужные данные? Чтобы исключить кэширование на уровне БД.
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
Я правда не уверед что в постре такой функционал в принципе есть.
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
Maxim Stikharev
Используется, но как это трогает апи например?
А вообще попробуй и его тоже отключить. Я же не знаю как у вас кэши в коде используются.
источник

MS

Maxim Stikharev in Django [ru] #STAY HOME
Вот я щас пробую, впервые с таким столкнулся за несколько лет
источник

MS

Maxim Stikharev in Django [ru] #STAY HOME
Не сказать что хайлоад даже, там по паре десятков тысяч записей
источник

A

Alexander in Django [ru] #STAY HOME
Maxim Stikharev
CACHES = {
   'default': {
       'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
   },
   "select2": {
       "BACKEND": "django_redis.cache.RedisCache",
       "LOCATION": f"redis://localhost:6379/3",
       "OPTIONS": {
           "CLIENT_CLASS": "django_redis.client.DefaultClient",
           "IGNORE_EXCEPTIONS": True,
       }
   },
}
dummy - это заглушка же для разработки. Вероятно, при разработке все кэширование идёт через нее (т.е отсутствует). А с дебаг=фолс она автоматически выключается и применяется следующая. Это как вариант
источник

MZ

Mikhail Zanozin in Django [ru] #STAY HOME
Добрый вечер!

Делаю апишку. Не рестфул. В запросе метод и параметры, далее оно прокидывается в другое пространство для обработки сложной логики. Мне нужно провалидировать все, что пришло и ушло, и на каждый фейл валидации вернуть свой код ошибки с описанием.

Поделитесь соображениями, как это лучше сделать без кучи условных операторов?
источник

MS

Maxim Stikharev in Django [ru] #STAY HOME
Alexander
dummy - это заглушка же для разработки. Вероятно, при разработке все кэширование идёт через нее (т.е отсутствует). А с дебаг=фолс она автоматически выключается и применяется следующая. Это как вариант
Хм, как вариант
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
Alexander
dummy - это заглушка же для разработки. Вероятно, при разработке все кэширование идёт через нее (т.е отсутствует). А с дебаг=фолс она автоматически выключается и применяется следующая. Это как вариант
Нет. Это не так работает.
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Mikhail Zanozin
Добрый вечер!

Делаю апишку. Не рестфул. В запросе метод и параметры, далее оно прокидывается в другое пространство для обработки сложной логики. Мне нужно провалидировать все, что пришло и ушло, и на каждый фейл валидации вернуть свой код ошибки с описанием.

Поделитесь соображениями, как это лучше сделать без кучи условных операторов?
Дрф?
источник

MZ

Mikhail Zanozin in Django [ru] #STAY HOME
Не, торнадо + маршмэллоу. Но могу и сменить стек, в том числе на дрф (нежелательно).

Пока как ни кручу, все сводится к тому, что делать кастомные эксепшены и каждый обрабатывать по своему. Но все ради только кода ошибки и сообщения.
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
Alexander
dummy - это заглушка же для разработки. Вероятно, при разработке все кэширование идёт через нее (т.е отсутствует). А с дебаг=фолс она автоматически выключается и применяется следующая. Это как вариант
dummy_cache с точки зрения апи это обычный бекенд. В джанге есть наоборот - принудительное отключение кэширования в шаблонах.
https://stackoverflow.com/questions/51747782/django-template-is-not-changed-after-update-possible-cache
источник

AK

Alex Kalinin in Django [ru] #STAY HOME
Для меня больше похоже на что-то вроде кашалота или аналогичный слой логики.
источник

Н

Не выходи из комнаты... in Django [ru] #STAY HOME
Mikhail Zanozin
Не, торнадо + маршмэллоу. Но могу и сменить стек, в том числе на дрф (нежелательно).

Пока как ни кручу, все сводится к тому, что делать кастомные эксепшены и каждый обрабатывать по своему. Но все ради только кода ошибки и сообщения.
источник

MZ

Mikhail Zanozin in Django [ru] #STAY HOME
Конечно, читал. Но только сейчас посмотрел на это с такой стороны, что могу выбрасывать код ошибки одним экспепшеном но с разными текстовыми сообщениями. А далее обрабатывать этот эксепшен на "фасаде" отдельным методом с отловом кода ошибки. Это не решает все имеющиеся трудности, но за наводку спасибо - появились новые идеи.
источник