Форум программистов, компьютерный форум, киберфорум
Python: Flask
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
1 / 1 / 3
Регистрация: 08.05.2012
Сообщений: 105

Асинхронные процессы и Flask

11.11.2016, 17:36. Показов 6665. Ответов 11

Студворк — интернет-сервис помощи студентам
Существует мой проект, в котором я из веб-сервера, сделанного на Flask запускаю bash скрипт запуска программ и обработку различной информации. На данный момент запускается все из
Python
1
2
3
4
5
6
7
 
@app.route('/signup', methods=['POST'])
def signup():
    s = request.form['nodes']
    if s:
        os.system("bash /somepass/run.sh")
    return redirect(url_for('nodes'))
Необходимо сделать вызов sh асинхронно. Посмотрел в сторону aiohttp - проект умер судя по Github где-то 2 года назад. Посмотрел в сторону Celery - нужно создавать очередь, назначать какой-то сервер для хранения всякого этого( redis) в отдельном терминальчике, назначать обработчиков-воркеров, слушатель сообщений а-ля RabbitMQ и остальной ужас такого типа. Хочется же что-то простенькое а-ля:
Python
1
2
process1 = (arguments, functionname)
process2 = (...)
Существует ли такое вообще в природе? пользовался ли кто-нибудь асинхронностью вместе с flask? Если да - то код примера будет не лишним
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2016, 17:36
Ответы с готовыми решениями:

Прием json-объекта | Flask, Flask-Security, Telegram-bot
Здравствуйте, помогите , пожалуйста, Flask знаю не очень, но что-то смог, писал бота с бд и админкой, на вебхуке, но после того, как...

Подключить PostgreSQL к Flask API и передавать данные таблицы в flask
Нужна срочная и большая помощь, надеюсь только на вас. Есть Python+QT5 (PYQT5) приложение. В таблицу приложения (QTableWidget)...

Асинхронные процессы
В гугле не смог найти никакой пример, изложена только теория, из которой ничего не понял. На форме у меня два индикатора с разным...

11
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
11.11.2016, 18:43
как это он умер?
http://aiohttp.readthedocs.io/... anges.html

Добавлено через 1 минуту
subprocess поможет?
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
11.11.2016, 19:14
Про смерть aiohttp вы что то перепутали.Сильно. перепутали.
Используйте либо его, либо одну из других вещей основанных на asyncio.
Они живы и более менее развиваются.
Цитата Сообщение от totlant Посмотреть сообщение
Хочется же что-то простенькое а-ля:
Если вам нужен вывод результатов работы скрипта - простеньким возможно в любом случае не удасться обойстись.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
11.11.2016, 20:04
Цитата Сообщение от Zuzik Посмотреть сообщение
Они живы и более менее развиваются.
Более менее? Да их последние года 2 пилят как не в себя и пиарят так же.
0
1 / 1 / 3
Регистрация: 08.05.2012
Сообщений: 105
16.11.2016, 14:59  [ТС]
всем спасибо за правильную критику, видно я ошибся в датах. Но ответ таки не был получен! Кто может представить HelloWorld для Flask, чтобы в отдельном асинхронном процессе обрабатывался, предположим, bash файл? Реквесты с него я получаю в БД, параметров нет, так что можно обойтись и чем-нибудь "простеньким". По мере своих поисков начал приходить к выводу, что мб легче даже будет "обернуть" мое приложение в tornado, но делать доп работу не очень хочется.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
16.11.2016, 17:22
Посмотрите в сторону Flask-SocketIO, выглядит как что-то, что может Вам помочь.
1
1 / 1 / 3
Регистрация: 08.05.2012
Сообщений: 105
16.11.2016, 17:44  [ТС]
Да, спасибо, мне тоже понравились их враперы для приложения. Пока что сделал с помощью питоновского non-Flask метода с использованием multiprocessing.dummy.
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
16.11.2016, 17:51
1) http://flask-aiohttp.readthedo... index.html .
2) https://gist.github.com/viksit... df5bb84a40
3) Redis, Celery, RabbitMQ и прочая нечисть вариант не самый легкий, но хорошо расширяемый и настраиваемый при неоходимости.

P.S. Я бы писал либо отдельный сервис на aiohttp или использовал очередь сообщений (просто есть уже работающий пример использующий RabbitMQ, так что есть на чем разбираться)
1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
16.11.2016, 17:59
Если тебе нужна асинхронная обработка запросов, то используй асинхронный фреемворк и не надо мучать синхронный.

Цитата Сообщение от totlant Посмотреть сообщение
По мере своих поисков начал приходить к выводу, что мб легче даже будет "обернуть" мое приложение в tornado
Если python 3, то only asyncio.
1
1 / 1 / 3
Регистрация: 08.05.2012
Сообщений: 105
17.11.2016, 11:16  [ТС]
Цитата Сообщение от alex925 Посмотреть сообщение
Если python 3, то only asyncio.
а чем gevent не подходит? да, python3.
Цитата Сообщение от Zuzik Посмотреть сообщение
P.S. Я бы писал либо отдельный сервис на aiohttp или использовал очередь сообщений (просто есть уже работающий пример использующий RabbitMQ, так что есть на чем разбираться)
спасибо, видел эти ресурсы, если не затруднит - сможете прислать свой вариант на Celery мне на почту? glebkiselev777@mail.ru
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
17.11.2016, 12:48
Цитата Сообщение от totlant Посмотреть сообщение
а чем gevent не подходит?
Это страшная с...нь. Её использовать, только себе палки в колеса вставлять.

А asyncio only, потому что это стандарт на асинхронные операции в python 3 и все, что есть будет адаптироваться уже под него. Брать какую нибудь тонаду нет смысла уже (хотя если юзается python 2, то это будет хороший выбор).
0
 Аватар для Zuzik
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
18.11.2016, 10:25
Цитата Сообщение от totlant Посмотреть сообщение
сможете прислать свой вариант на Celery мне на почту?
Тут именно RabbitMQ. Прислать - может быть завтра смогу.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.11.2016, 10:25
Помогаю со студенческими работами здесь

Flask так сказать изучаю "мега туториал flask" строка "from app import app"
Объясните что всё это означает? Почему app подчеркнуто красным? В чём ошибка?

Замирает компьютер, все процессы замораживаются, но курсор передвигается и некоторое время можно переключатся на другие процессы
Добрый Вечер. Суть проблемы, собрал компьютер на базе: CPU: AMD FX-8320 Mать: AsRock 990FX Extreme3 Видео: AMD RADEON HD6950 ...

Процессы. Windows. Процесс контролирует остальные процессы
Написать программу, состоящую из 10 консольных процессов(Р1, ..., Р10). Средство разработки Microsoft Visual Studio. Функционирование и...

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

Дочерние процессы (процессы-потомки)
Добрый день. Мне нужно создать 7 процессов-потомков и вывести pid родителя и pid ребёнка. Я несколько раз вызывала fork(), но оно мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru