Найти - Пользователи
Полная версия: yield данных из потока
Начало » Python для экспертов » yield данных из потока
1
Enchantner
Собственно, возможен ли сабж? Дилемма: есть интерфейс пользователя и есть парсер. Логично, что не хочется, чтобы во время парсинга интерфейс повисал. А еще бы очень хотелось, чтобы данные из потока возвращались по мере их получения, то есть на форме по-очереди появлялись результаты. Как такое реализовать грамотно? На выходе хотелось бы иметь именно поточный итератор по результатам…
Андрей Светлов
Пущай поток парсера шлет GUI гуевые же сообщения. А главный гуевый поток в отместку перерисовывает себя, выбирая из парсера что он там наработал.
Не нужен вам итератор, нет для него применения. Точнее, сам парсер делайте как хотите. А вот прокидывание из его потока в GUI thread - только через сообщения этой самой GUI subsystem.
Enchantner
Андрей Светлов
В том-то и фишка, что GUI отрисовывается на одном из веб-форм-фреймворков (Titanium, похож на Adobe AIR), а данные передаются из питона в яваскрипт. Поэтому обновление DOM идет через jQuery, который вставляет возвращенные питоном строчки. И не очень понятно, как организовать взаимодействие… Возможно, просто стоит переписать парсер на яваскрипте :)
ziro
А у титаниума веб движок какой? Если WebKit, то возможно удастся использовать одну из техник передачи данных в веб типа longpolling или websockets.
o7412369815963
можно на период загрузки периодический опрашивать сервер, кстате сервер лочить долгими запросами не тру, это должен делать отдельный процесс, а веб сервер только выдавать результаты (моментально)
Enchantner
ziro
Воистину WebKit, причем с поддержкой HTML5 и CSS3.
o7412369815963
Причем тут сервер? Речь о десктопном приложении, из инета только парсится инфа.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB