Ответы пользователя по тегу Flask
  • Где в коде разместить код обработки данных?

    @thenno
    Проектирую, разрабатываю, преподаю.
    У Вас сейчас какая-то каша. Вообще, существует два подхода: толстые модели или толстые контроллеры, лучше продолжить гуглить на эту тему.

    Если вкрадце: толстые модели означают, что вся бизнес-логика зашита в модель (модель, вообще говоря, далеко не равна отображению в базе данных), толстые контроллеры - бизнес-логика в контроллерах. В лучших домах Англии принято использовать архитектуру с толстыми моделями из-за более гибкого подхода, а уж тащить какую-то бизнес-логику в представление вообще считается диким моветоном. Да и это логично, если учитывать что модели - это отображение предметной области в объектную модель.

    Если еще короче - правильнее всего перенести всю бизнес-логику и валидацию в модель.
    Ответ написан
    1 комментарий
  • Как правильно форкнуть процесс в flask?

    @thenno
    Проектирую, разрабатываю, преподаю.
    Для начала, в Python есть более вменяемые способы управления процессами - посмотрите модуль multiprocess.

    API, как можно догадаться, должен отвечать моментально.

    Догадаться не получается, на самом деле:) Очень непонятно, зачем нужна такая логика - сначала ответить клиенту 'ok', а только потом закончить выполнять операцию. Это логически неверно и сбивает с толку в 99% случаев. По-хорошему api должно принять запрос, выполнить действие (хоть меньше секунды, хоть все 90 секунд), а затем ответить клиенту с успехом или нет.

    Главное здесь - грамотно настроить nginx (worker_connections и timeout'ы как минимум, возможно, в официальной документации найдется что-то более годное), чтобы в случае множества медленных запросов сервис продолжал нормально работать.
    Ответ написан
    2 комментария