Size: a a a

Django [ru] #STAY HOME

2021 March 13

N

Nire in Django [ru] #STAY HOME
Alexandr K
Такс, доброй ночи!

Шарит кто за асинхронность в джанго?

Крч понял как сделать функциональные вьюхи асинхронными, а по class based async views инфы не нашел...
Ну как-бы какая разница?
источник

N

Nire in Django [ru] #STAY HOME
Класс нельзя сделать асинхронным
источник

N

Nire in Django [ru] #STAY HOME
Само по себе понятие класса такое не позволяет
источник

N

Nire in Django [ru] #STAY HOME
Внутри класса есть корневой элемент, который является функцией для запуска всего as_view. Вот с ней и работай
источник

VN

Vlad Naumov in Django [ru] #STAY HOME
Alex Dem
тут можно почитать о том как сделать банч действий одной транзакцией, проверить мою теорию можно предельно быстро)

https://docs.djangoproject.com/en/3.1/topics/db/transactions/
Вы atomic имеете ввиду. Я если честно, плохо понял, как оно работает. Но вроде bulk_create использует именно его.

Что я ещё проверил:
1. Мой генератор, который выдаёт кол-во объектов, которое равно batch_size, жрет оперативу. С каждый циклом все больше
2. Гружу 200к позиций батчами по 5к. После перезагрузки сервера и БД отрабатывает ОК. Если второй раз запустить то оперативка сжирается и БД отключает соединение. Попробую оперативы на хостинг докинуть, может исправит ситуацию
источник

AK

Alexandr K in Django [ru] #STAY HOME
Nire
Ну как-бы какая разница?
Дело интереса
источник

N

Nire in Django [ru] #STAY HOME
Vlad Naumov
Вы atomic имеете ввиду. Я если честно, плохо понял, как оно работает. Но вроде bulk_create использует именно его.

Что я ещё проверил:
1. Мой генератор, который выдаёт кол-во объектов, которое равно batch_size, жрет оперативу. С каждый циклом все больше
2. Гружу 200к позиций батчами по 5к. После перезагрузки сервера и БД отрабатывает ОК. Если второй раз запустить то оперативка сжирается и БД отключает соединение. Попробую оперативы на хостинг докинуть, может исправит ситуацию
А ведь можно было бы просто создать менеджмент команду, которая фором проходит по файлу и создаёт все что надо
источник

N

Nire in Django [ru] #STAY HOME
Alexandr K
Дело интереса
Я там ниже ответил
источник

N

Nire in Django [ru] #STAY HOME
1мб не так много
источник

VN

Vlad Naumov in Django [ru] #STAY HOME
И отправляет миллион запросов в БД? Долго + нагрузка, нет?
источник

AK

Alexandr K in Django [ru] #STAY HOME
Nire
Я там ниже ответил
А, вижу, спасибо, гляну
источник

N

Nire in Django [ru] #STAY HOME
Vlad Naumov
И отправляет миллион запросов в БД? Долго + нагрузка, нет?
Если один раз, то забей
источник

N

Nire in Django [ru] #STAY HOME
Это лучше, чем две недели сидеть и тупить
источник

N

Nire in Django [ru] #STAY HOME
Тут дело в задачи. Если это на 2 недели стопануло закрытие твоих тасков, то это контрпродуктивно
источник

VN

Vlad Naumov in Django [ru] #STAY HOME
Мне надо 3 раза в день основную таблицу обновлять как-то
источник

N

Nire in Django [ru] #STAY HOME
Vlad Naumov
Мне надо 3 раза в день основную таблицу обновлять как-то
Ну это другое дело
источник

N

Nire in Django [ru] #STAY HOME
Почему ты не обновляешь разницу?
источник

N

Nire in Django [ru] #STAY HOME
Или там во всей таблице Абсолютно все записи меняются?
источник

VN

Vlad Naumov in Django [ru] #STAY HOME
БОльшая часть меняется. Мне нужно:
1. Обновить наличие и цену
2. Удалить позиции, которые закончились
3. Добавить позиции, которые появились
источник

N

Nire in Django [ru] #STAY HOME
Вообще хорошим тоном является деление таблиц на быстрые и медленные части. Тогда это позволит высокодинамичные столбцы в отдельные оптимизированные таблицы вывести
источник