Boris875
Ноя. 28, 2014 20:52:05
От пользователя нужно принять данные и распарсить их. Подскажите пожалуйста как запускать процесс обработки данных. Как я понимаю нужно или использовать какую-то асинхронную библиотеку или использовать (потоки/процессы)?
4kpt_II
Ноя. 28, 2014 20:54:34
Если ответ нужен не сразу, то я бы бросил на серели и не стал бы мучатся
Boris875
Ноя. 28, 2014 21:27:40
4kpt_II
А как на строне пользователя это реализовывать. Я имею ввиду что на странице в этот момент отобрать (прогресс бар какой-нить) или как-то по другому?
Кстати читал “Мега учебник flask”, там автор предлагает использовать процессы или потоки. Это ничем не черевато?
wiygn
Дек. 11, 2014 00:53:38
Boris875
Flask не предназначен для асинхронности. Процессы точно чреваты, потому что нужно будет гонять между ними данные (если речь не идет о тупом наращивании количества запущенных инстансов приложения).
Человек с Celery дело говорит, очередь задач/сообщений подойдет (но не обязательно использовать именно эту).
Может вы под асинхронные задачи возьмете разработанные для этого вещи? Tornado/Cyclone, например?
Да, еще учтите, что к базе, если вы в нее что-то пишете, тоже нужен асинхронный драйвер (Motor — асинхронный pymongo для Tornado).
4kpt_II
Дек. 11, 2014 02:23:43
Тут уже не Торнадо, хотя он тоже ничего так. Мне уважаемые дядьки нашептали, что нужно смотреть в сторону asyncio. Причем доклад одного из этих дядек в этом убеждает. Хотя статься по работе с БД и вызвала неоднозначные эмоции, но все же я верю в этот проект.
wiygn
Дек. 12, 2014 13:00:19
4kpt_IIДа, asyncio штука перспективная. Tornado, кстати, умеет с ней работать.
Еще есть вот такая интересность:
https://github.com/aio-libs/aiorest