|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.10.2011, 11:10 | #1 |
Форумчанин
Регистрация: 28.02.2011
Сообщений: 127
|
Надёжность сигналов-слотов
Всем привет!
Представьте Программа, выполняющая сканирование сайтов на предмет обновлений Допустим, в БД 50 сайтов = 50 сканирующих "потоков"... В каждом "потоке" - скачка html-кода из интернета, парсинг, внесение в БД... Я специально закавычил слово "поток", потому что, в данном случае, использование потоков не обязательно... Важно другое Как организовать такую работу наиболее правильным "архитектурно-технологически" способом? Мне просто интересны варианты Уже пробовал создавать отдельный поток под каждый сайт, но проблема в том, что сканирование сайтов (читай - использование QWebPage) необходимо делать в главном (GUI) потоке К тому же, этот механизм не показал особой стабильности... Может, из-за корявости реализации, не использования QthreadPool'ов (ксттаи, интересно, насколько хорош QThreadPool)) Сейчас делаю так...(просто пример, но суть работы та же, что и в программе) Analyzer Код:
Код:
То есть, всё построено на механизме сигналов-слотов Но, при "большом" объёме сайтов (примерно 20-30) - прога заваливается, и либо не сканирует какие-то сайты, либо не работает вообще И я не могу определить, в чём тут проблема! То есть, если брать 5 +-5 сайтов, то работа стабильна, а чуть больше - глючит Дело ли тут в том, что механизм сигналов-слотов даёт сбой, или где-то в алгоритме ошибка (но прога ведь не падает..)? Отсюда вопросы: 1. Насколько надёжно, на Ваш взгляд, использование механизма сигналов-слотов 2. Насколько оно надёжно в приведённом случае 3. Насколько рнационален, на Ваш взгляд, предложенный мной подход к решению проблемы 4. Ну и вообще, Ваше мнение на сей счёт Вопросов много накатал... Буду рад, если кто-нибудь ответит |
18.10.2011, 17:28 | #2 |
На форуме меня нет
Пользователь
Регистрация: 03.08.2011
Сообщений: 56
|
Абсолютно надёжно! В приведенном случае тоже все стабильно. Ну вообще-то не очень то рационально. Можно загружать версии сайтов раз в неделю и делать это в фоне а всю неделю (например до воскресения) делать проверку исходного кода страниц
ПСЕВДОКОД: ЕСЛИ (КОД == КОД_2) ТОГДА ВЫВЕСТИ НЕОБНОВЛЁН В ПРОТИВНОМ СЛУЧАЕ ВЫВЕСТИ ОБНОВЛЁН
Делаю бд, программы,
icq 640743615 дамы! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Генерация сигналов USB | Krasi | Общие вопросы C/C++ | 4 | 10.05.2011 09:31 |
обработка сигналов | Yelisey | Общие вопросы C/C++ | 1 | 01.05.2011 01:09 |
Генерация звуковх сигналов | Krizzly | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 15.12.2010 13:47 |
Спектральный анализ и фильтрация сигналов | John777 | Помощь студентам | 0 | 22.04.2009 00:06 |