ФорумПрограммированиеPythonFlask → Помогите сделать выбор - отдельный процесс или же отдельный поток во flask?

Помогите сделать выбор - отдельный процесс или же отдельный поток во flask?

  • zhan

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Окт. 5, 2016, 12:38 п.п.

    Доброго времени суток уважаемые форумчане.
    Решил сделать систему отопления у себя в квартире. Отопления газовое, автономное (газовый котёл в квартире). В качестве контроллера управления raspberry pi. По квартире брошены датчики ds18b20. Захотелось управлять отоплением через web интерфейс, создавать расписания и настройки работы системы. Все настройки хранятся в базе данных. Выбор пал на flask+lighttpd. Python и flask начал изучать недавно, так что просьба, если задаю глупые вопросы, ногами не бить.
    Так вот вопрос, как лучше сделать? Код температурного регулятора написать в самом flaske или же его вынести в отдельный (не зависящий от flask) файл (модуль). Скажем так запустить отдельным процессом.
    Если в самом flaske, то создавать отдельный поток? Как я понимаю в таком случае разделяемый ресурс у меня будет база данных. Кстати использую flask-sqlalchemy и сессии я так понимаю не позволят испортить данные в базе в случае одновременной работы с записями.

  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz Окт. 5, 2016, 2:58 п.п., спустя 2 часа 20 минут 41 секунду

    @zhan, ну судя по тому что должен быть постоянно работающий процесс, который может что-то выключать-включать по расписанию в любое время дня и ночи, то нужен отдельный процесс, который будет работать всегда, а через flask уже управлять значениями в бд, которые читает этот процесс

    данные не испортятся, для этого бд и придумали smile

  • zhan

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Окт. 5, 2016, 3:17 п.п., спустя 18 минут 46 секунд

    На странице ещё будет кнопка (хотелось бы), типо включить/отключить отопление. И только после того как отопление включено скрипт (процесс) должен смотреть в бд и брать настройки для работы (нагрева). Из flaska можно же запустить внешний модуль (скрипт)? Тогда было бы круто.

  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz Окт. 5, 2016, 4:53 п.п., спустя 1 час 36 минут 8 секунд

    можно, как и просто в питоне (например через модуль subprocess)

  • zhan

    Сообщения: 4 Репутация: N Группа: Кто попало

    Spritz Окт. 5, 2016, 6:32 п.п., спустя 1 час 38 минут 36 секунд

    ок. тогда так и сделаю. Sinkler спасибо!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!