Я не уверен, правильно ли я понял вопрос, мне просто любопытно, поэтому вот несколько вопросов и предложений:
Планируете ли вы поймать прерывание Ctrl + C и выполнить команду deque?
Что произойдет, если сканер выйдет из строя по какой-либо произвольной причине, такой как необработанное исключение или сбой? Вы теряете статус очереди и начинаете все сначала?
из документации:
Примечание
Функция выхода не вызывается, когда
программа убита сигналом,
когда внутренняя ошибка Python является фатальной
обнаружено, или когда os._exit ()
называется.
Что происходит, когда вы снова посещаете тот же URI, поддерживаете ли вы посещенный список или что-то в этом роде?
Я думаю, что вы должны поддерживать некоторую информацию о посещении и сеансе / статусе для каждого URI, который вы сканируете.
Вы можете использовать информацию о посещении, чтобы решить сканировать URI или нет при следующем посещении того же URI.
Другая информация - информация о сеансе - для последнего сеанса с этим URI поможет в подборе только добавочного материала, и если страница не изменяется, нет необходимости подбирать ее, сохраняя некоторые затраты на ввод-вывод в дБ, дубликаты и т. Д.
Таким образом, вам не придется беспокоиться о ctrl + C или сбое. Если сканер по какой-либо причине отключается, скажем, после сканирования сообщений 60 КБ, когда осталось еще 40 КБ, следующий раз, когда сканер заполняет очередь, хотя очередь может быть огромной, но сканер может проверить, посетил ли он уже URI или нет, и каково было состояние страницы при ее сканировании - оптимизация - требует ли страница нового захвата, поскольку она изменилась или нет.
Надеюсь, это поможет.