A semantic search engine for source code https://bitshift.benkurtovic.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
920 B

  1. """
  2. :synopsis: Parent crawler module, which supervises all crawlers.
  3. Contains functions for initializing all subsidiary, threaded crawlers.
  4. """
  5. import logging, Queue
  6. from bitshift.crawler import crawler, indexer
  7. __all__ = ["crawl"]
  8. def crawl():
  9. """
  10. Initialize all crawlers (and indexers).
  11. Start the:
  12. 1. GitHub crawler, :class:`bitshift.crawler.crawler.GitHubCrawler`
  13. 2. Git indexer, :class:`bitshift.crawler.indexer.GitIndexer`
  14. """
  15. MAX_URL_QUEUE_SIZE = 5e3
  16. DEBUG_FILE = "crawler.log"
  17. logging.basicConfig(filename=DEBUG_FILE,
  18. format="%(asctime)s:\t%(threadName)s:\t%(message)s",
  19. level=logging.DEBUG)
  20. repository_queue = Queue.Queue(maxsize=MAX_URL_QUEUE_SIZE)
  21. github_crawler = crawler.GitHubCrawler(repository_queue)
  22. git_indexer = indexer.GitIndexer(repository_queue)
  23. for thread in [github_crawler, git_indexer]:
  24. thread.start()