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