LINUX.ORG.RU

scrapy и Qt

 , ,


0

2

Всем привет, сейчас разрабатываю парсер, который выводит результаты парсинга с помощью PyQt, и у меня возникла проблема архитектуры.

Сейчас у меня есть специальный класс, обертка над массивом, который имеет функцию выведи результаты (Qmessagebox, qlistwidget, не суть важно), и есть Pipeline, который каждую item при соблюдении неких условий запихивает в этот класс обертку, а затем в методе close_spider вызываю функцию у класса обертки «отрисовать». Проблема в том, что это не работает, так как crawler понятное дело надо запускать в отдельном треде от графики, и поэтому вызов функции отрисовки в close_spider ругается на то что не безопасно вызывать из левого треда функции для работы с GUI. Какую надо сделать архитектуру?

Пошли в гуевый цикл сигнал о готовности результата, а потом заполь данные.

pon4ik ★★★★★
()
Ответ на: комментарий от Chubakur

Обычный кутишный сигнал, если в питоне можно, токо доку почитай, как там между потоками кидается.

Либо conditional variable, в питоне, ещё есть некий Event примитив синхронизации.

Короче rtfm, про примитивы синхронизации и межпоточное взаимодействие.

pon4ik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.