(intervalMinutes: number = 30)
| 913 | private catalogCrawling = false; |
| 914 | |
| 915 | startPeriodicCatalogCrawl(intervalMinutes: number = 30) { |
| 916 | // Don't run immediately — let the main crawl finish first |
| 917 | this.catalogCrawlIntervalId = setInterval(() => { |
| 918 | this.crawlCatalogDomains(); |
| 919 | }, intervalMinutes * 60 * 1000); |
| 920 | |
| 921 | log.info({ intervalMinutes }, 'Periodic catalog domain crawl started'); |
| 922 | } |
| 923 | |
| 924 | async crawlCatalogDomains(): Promise<{ checked: number; found: number }> { |
| 925 | if (this.catalogCrawling || this.crawling) { |
no test coverage detected