Есть ли какой-нибудь систематический способ включить или выключить какой-нибудь Bolt в StormCrawler?

Я разработал проект StormCrawler, в котором есть несколько дополнительных болтов в этой топологии. Мой сканер должен работать 7 х 24 без простоев. Поэтому я не могу перезапустить краулер и изменить конфигурацию топологии. Хочу обойти (включить или выключить) некоторые болты во время работы. Как лучше всего отключить и включить некоторые болты в StormCrawler во время выполнения?

Благодарность


person aeranginkaman    schedule 11.10.2020    source источник


Ответы (1)


Нет никакого способа сделать это из коробки, поэтому вам придется реализовать логику для настройки вкл / выкл болтов в самих болтах.

Если вам нужно обновить их конфигурацию, вы можете реализовать динамический механизм. Например, сохраните конфигурацию болтов, например, в эластичном индексе и периодически перезагружайте эту конфигурацию.

У нас уже есть что-то вроде этого с JSONURLFilterWrapper и эквивалент для ParseFilter. У нас может быть абстрактный динамически конфигурируемый болт на основе ES. Не стесняйтесь открывать вопрос на GitHub, если вы думаете, что это интересно, или даже лучше, сделайте PR ;-)

person Julien Nioche    schedule 11.10.2020
comment
Уважаемый Жюльен, мне нужно изменить глубину сканирования во время выполнения через веб-приложение или что-то подобное. Хочу без остановки ползать по разным сценариям и снова запустить краулер. Возможно ли это сейчас? - person aeranginkaman; 12.10.2020
comment
вы уже можете указать максимальную глубину для каждого семени, поэтому, если у вас есть семя для каждого имени хоста, это будет работать нормально. Кроме того, нет - person Julien Nioche; 13.10.2020