Форум сайта python.su
От пользователя нужно принять данные и распарсить их. Подскажите пожалуйста как запускать процесс обработки данных. Как я понимаю нужно или использовать какую-то асинхронную библиотеку или использовать (потоки/процессы)?
Офлайн
Если ответ нужен не сразу, то я бы бросил на серели и не стал бы мучатся
Офлайн
4kpt_II
А как на строне пользователя это реализовывать. Я имею ввиду что на странице в этот момент отобрать (прогресс бар какой-нить) или как-то по другому?
Кстати читал “Мега учебник flask”, там автор предлагает использовать процессы или потоки. Это ничем не черевато?
Офлайн
Boris875
Flask не предназначен для асинхронности. Процессы точно чреваты, потому что нужно будет гонять между ними данные (если речь не идет о тупом наращивании количества запущенных инстансов приложения).
Человек с Celery дело говорит, очередь задач/сообщений подойдет (но не обязательно использовать именно эту).
Может вы под асинхронные задачи возьмете разработанные для этого вещи? Tornado/Cyclone, например?
Да, еще учтите, что к базе, если вы в нее что-то пишете, тоже нужен асинхронный драйвер (Motor — асинхронный pymongo для Tornado).
Отредактировано wiygn (Дек. 11, 2014 00:56:56)
Офлайн
Тут уже не Торнадо, хотя он тоже ничего так. Мне уважаемые дядьки нашептали, что нужно смотреть в сторону asyncio. Причем доклад одного из этих дядек в этом убеждает. Хотя статься по работе с БД и вызвала неоднозначные эмоции, но все же я верю в этот проект.
Офлайн
4kpt_II
Да, asyncio штука перспективная. Tornado, кстати, умеет с ней работать.
Еще есть вот такая интересность:
https://github.com/aio-libs/aiorest
Офлайн