Size: a a a

2020 April 06

A

Alex in Python Flask
в зависимости от задач есть готовые решения типа celery \ rq \ dramatiq либо же берешь очередь сообщений и работаешь непосредственно с очередью, как @Tishka17  завещал
источник

AP

A Paclonsky in Python Flask
Ну тут такая штука. Что присылают по HTTP JSON (по 10 mb каждый) и одновременно 10-20 штук. И с данными проводятся давольно ресурсоемкие преобразования.  Думаю может айда в воркер приму, по процессам распихаю да буду рад
источник

T

Tishka17 in Python Flask
Я бы пихнул это всё в s3 и потом медленно разгребал через очередь
источник

AK

Alexander Kamyanskiy in Python Flask
@artseo если вы будете обрабатывать"тяжелый" запрос прямо в потоке веб приложения - это значит, что вы займете поток ровно на время обработки данных и возможно если есть клиенты которые хотят обратиться к приложению, а все потоки взяли что то делать и заняты, эти клиенты будут ждать. Если приложение не требует "обработать" - "вернуть" результат синхронно, и допустимо обработать данные в фоне и положить в базу результат, есть вот перечисленные фреймворки для этого - ребята перечислили celery, dramatiq, huey. Т.е. вы берете данные, создаете отложенную задачу, и тут же говорите клиенту что все ок, а задача выполняется "в фоне"
источник

AP

A Paclonsky in Python Flask
Alexander Kamyanskiy
@artseo если вы будете обрабатывать"тяжелый" запрос прямо в потоке веб приложения - это значит, что вы займете поток ровно на время обработки данных и возможно если есть клиенты которые хотят обратиться к приложению, а все потоки взяли что то делать и заняты, эти клиенты будут ждать. Если приложение не требует "обработать" - "вернуть" результат синхронно, и допустимо обработать данные в фоне и положить в базу результат, есть вот перечисленные фреймворки для этого - ребята перечислили celery, dramatiq, huey. Т.е. вы берете данные, создаете отложенную задачу, и тут же говорите клиенту что все ок, а задача выполняется "в фоне"
Круто! Спасибо еще раз большое вам все ясно и понятно стало )
источник

NL

Nikita L in Python Flask
Пока тут такой движ, можно позадовать нубских вопросов?
Есть во фласке объект session и request.
Объект request создается заново при каждом запросе от клиента к серверу.
session, в свою очередь, не изменяется в рамках своего лайфтайма.
Если мне, например, нужно хранить какие-нибудь данные о действиях пользователя на сайте (Допустим количество нажатий какой-либо кнопки), как это правильнее реализовать?
Эти данные нужно записывать в объект session или класть в куки объекта response?
источник

T

Tishka17 in Python Flask
Сессия грузится их хранилища в каждом запросе
источник

T

Tishka17 in Python Flask
В простом кейсе сессия хранится закодированной прям в куку, это плохой вариант. Обычно лучше её хранить в редисе/базе
источник

NL

Nikita L in Python Flask
Tishka17
В простом кейсе сессия хранится закодированной прям в куку, это плохой вариант. Обычно лучше её хранить в редисе/базе
Да, у меня в куки фласк кладет {‘session’: value}
Т.е. он когда видет пользователя без этого ключа, он по дефолту выдает ему новую сессию, кодирует условный id и кладет ему в куку.

Правильно понимаю, что по этому ключу фласк понимает, что за пользователь пришел и всю остальную инфу о нем он может подтянуть из хранилища сессий сматчив по этому id?
источник

АП

Агент Печенька in Python Flask
Nikita L
Да, у меня в куки фласк кладет {‘session’: value}
Т.е. он когда видет пользователя без этого ключа, он по дефолту выдает ему новую сессию, кодирует условный id и кладет ему в куку.

Правильно понимаю, что по этому ключу фласк понимает, что за пользователь пришел и всю остальную инфу о нем он может подтянуть из хранилища сессий сматчив по этому id?
Ага.
источник

NL

Nikita L in Python Flask
Во всех гайдах просто пишут, что можно положить данные в сессию через session[‘key’] = value и оно каким-то образом будет храниться.
Вот где это хранится вообще непонятно
источник

NL

Nikita L in Python Flask
Где-то в ОЗУ чтоль?
источник

T

Tishka17 in Python Flask
Nikita L
Во всех гайдах просто пишут, что можно положить данные в сессию через session[‘key’] = value и оно каким-то образом будет храниться.
Вот где это хранится вообще непонятно
Есть разные хранилища, а же сказал
источник

T

Tishka17 in Python Flask
Гугли бэкенды сессий для фласка
источник

J

JTProgru in Python Flask
Redis в помощь
источник

ПП

Проксимов Прксимович in Python Flask
Nikita L
Во всех гайдах просто пишут, что можно положить данные в сессию через session[‘key’] = value и оно каким-то образом будет храниться.
Вот где это хранится вообще непонятно
У юзера
источник

ПП

Проксимов Прксимович in Python Flask
Tishka17
В простом кейсе сессия хранится закодированной прям в куку, это плохой вариант. Обычно лучше её хранить в редисе/базе
Но кука ведь все равно нужна
источник

T

Tishka17 in Python Flask
Проксимов Прксимович
Но кука ведь все равно нужна
Кука нужна, да
источник

T

Tishka17 in Python Flask
Хотя я у себя как-то делал механизм чтобы апишка могла доступ к сессии получить через явное указание айди
источник
2020 April 07

V

Vlad in Python Flask
При указании back_populates в двух моделях как фиксится циклический импорт, если они изначально ссылаются друг на друга?

https://pastebin.com/hdVSC5eK
===
sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class Camera->camera, expression 'Report' failed to locate a na
me ("name 'Report' is not defined"). If this is a class name, consider adding this relationship() to the <class 'models.camera.Came
ra'> class after both dependent classes have been defined.
источник