Рекомендации по запуску flask приложения ТОЛЬКО локально навсегда - PullRequest
1 голос
/ 25 апреля 2020

Я хочу создать веб-форму, которая навсегда останется на одном компьютере. Пользователи могут прийти на компьютер, заполнить форму и отправить ее. После отправки он запишет ответы в файл Excel и отправит электронные письма. Следующий пользователь может затем прийти и заполнить новую форму автоматически. Я планировал использовать Flask для этой задачи, поскольку его легко создать, но поскольку я не делаю этого на каком-либо производственном сервере, я просто запустил его локально в разработке на одном компьютере.

Я никогда не видел, чтобы кто-то делал что-то подобное с Flask, поэтому мне было интересно, возможна ли моя идея или мне следует избегать этого. Я также новичок в веб-разработке, поэтому мне было интересно, какие могут быть проблемы с тем, чтобы flask приложение оставалось 24/7 на локальном компьютере для разработки.

Спасибо

Ответы [ 3 ]

1 голос
/ 25 апреля 2020

Нет ничего плохого в том, чтобы делать это в принципе, однако, это, вероятно, не лучшее решение для выплаты времени за вознаграждение.

Во-первых, чтобы ответить на ваш вопрос, это может быть легко, даже для новичка, завершение этого за несколько часов с минимальным опытом Python и HTML определенно может быть выполнено. Ваше приложение может обработать sh в фоновом режиме по многим причинам (из-за недостатка места, неправильных адресов памяти и т. Д. c, но, скорее всего, у вас все будет хорошо.

Что касается конкретной сборки, то это все возможно, есть библиотеки, которые вы можете использовать для добавления результатов в файл Excel, или вы можете просто добавить CSV-файл (что я бы порекомендовал) .Создание и отправка emial, аналогично относительно простым, но опять же, сделать это без python было бы намного проще.

Если вы не настроили колбу / python, вы можете проверить формы Google, но если у вас установлен python или вы хотите использовать его как опыт обучения, это определенно можно сделать.

1 голос
/ 25 апреля 2020

Ваша идея возможна, и хотя есть много способов сделать подобные вещи, то, что вы предлагаете, не обязательно следует избегать.

Все приложения, работающие на компьютере в течение длительного периода времени, запускают процесс и поддерживают его до закрытия. Это по сути то, что вы делаете.

Сделав это сам (и до сих пор делаю это) в моем бизнесе, я могу сказать, что это прекрасно работает.

Единственное предостережение в том, что для того, чтобы он всегда был доступен, необходимо, чтобы какой-то инструмент отслеживал процесс, чтобы убедиться, что он перезапускается, если он когда-либо закрывается по разным причинам.

В linux супервизор является отличным инструментом для этого. В windows вы можете зарегистрировать его как сервис. Но вы также можете просто создать простой способ перезапуска и сделать так, чтобы пользователю было легче делать это, если он выключен, когда ему это нужно.

0 голосов
/ 25 апреля 2020

Да, это можно сделать. Это очень похоже на приложения, которые запускаются на серверах в центрах обработки данных.

Чтобы приложение работало вечно или перезапускало его после запуска системы, вам нужно использовать системный менеджер, аналогичный systemd in Unix. Вы можете использовать NSSM - the Non-Sucking Service Manager или Service Control для мониторинга вашего приложения и его перезапуска в случае сбоя. Это также должно быть включено при запуске.

Кроме этого, вы можете использовать Waitres для обслуживания вашего приложения Flask. Waitress - это веб-сервер WSGI, с помощью которого можно легко настроить количество потоков и рабочих для одновременного обслуживания нескольких пользователей.

В производственной среде всегда предлагается использовать интерфейс веб-сервера, например Gunicorn. или официантка.

...